Не удается записать в каталог приложения в Program Files

Мне нужно записать в некоторые файлы в каталоге приложения, который установлен в Program Files. Я знаю, что с включенным UAC в Vista и Windows 7 пользователи не могут изменять файлы в этом каталоге. Однако мне известно о виртуализации UAC, которая была добавлена ​​в Vista, которая в основном перенаправляет записи в каталог virtualstore. В Vista это прекрасно работает, и мои файлы фактически записываются в этот каталог virtualstore. Однако в Windows 7 я получаю сообщения об отказе в доступе, и мои файлы вообще не записываются в этот каталог. Что дает?

3 ответа

Решение

Это точно такой же двоичный файл или он был заново скомпилирован (под Win7)?

Если в манифесте вашего приложения указано, что оно поддерживает Vista, тогда Vista также выдаст ошибку.

Я не уверен, что вы пытаетесь сделать, но вы не должны записывать данные в каталог программных файлов, если вы не обновляете или не модифицируете само приложение.

Я бы изменил код для записи в правильное место. Перенаправление Vista было просто препятствием для предотвращения взлома приложений.

Всегда используйте метод Environment.GetFolderPath для получения системных путей.

Вы пытались использовать IsolatedStorageFile?

Другие вопросы по тегам