Как вы изменяете права доступа к файлу, чтобы не дать Vista записать файл в каталог VirtualStore? - PullRequest
2 голосов
/ 29 января 2009

Когда моя программа впервые устанавливает, она помещает файл в пользовательский каталог AppData, и затем программа будет периодически записывать в этот файл. Проблема заключается в том, что в Vista записи не производятся в файл в пользовательском каталоге AppData, а в копию этого файла в каталоге «VirtualStore / ProgramData». Исходный файл в пользовательском каталоге AppData никогда не изменяется, кажется, что при запуске программы он имеет доступ только к файлу в каталоге VirtualStore.

Есть ли способ из приложения C # изменить разрешения для этого файла, чтобы моя программа записывала исходную в каталог AppData, а не в каталог VirtualStore?

Спасибо

Jeff

1 Ответ

1 голос
/ 04 февраля 2009

Документация UAC по адресу http://msdn.microsoft.com/en-us/library/bb756973.aspx должна помочь вам решить эту проблему.

Мне кажется, что вам нужно добавить манифест приложения.

Если ваше приложение включает в себя манифест приложения с указанным значением «selectedExecutionLevel», виртуализация реестра и файловой системы Vista будет отключена.

Подробности смотрите http://msdn.microsoft.com/en-us/library/bb756929.aspx.

Если вы ранее не тестировали свое приложение в условиях без прав администратора, вам может потребоваться внести некоторые изменения в код после отключения виртуализации Vista.

...