разрешение записи файла выходит под папкой “Program Files”

Возможно, внимание на "инжекционную" часть? Когда я вижу, что термин, думаю о сиринксах. Процесс продвижения зависимостей компонента к компоненту может считаться вводящий в компонент.

Точно так же, как с телом, когда существует что-то, в чем оно нуждается в способе медицины (компонент, в котором оно нуждается) можно ввести его в тело.

15
задан John Saunders 3 July 2010 в 05:38
поделиться

3 ответа

Вы должны записать данные конфигурации конкретного пользователя в папку Application Data для текущего пользователя, используя специальные папки enum и Enivronment.GetFolderPath .

14
ответ дан 1 December 2019 в 01:53
поделиться

Распространенным решением будет установка файлов конфигурации в папку Application Data, например, как показано ниже:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
6
ответ дан 1 December 2019 в 01:53
поделиться

Рекомендуется не хранить данные конфигурации в папке Program Files. Вместо этого сохраните данные вашего приложения в% AppData% \ YourApplicationName. В зависимости от того, хотите ли вы хранить данные конфигурации для каждого пользователя или в общей общей папке, используйте одно из следующих перечислений, чтобы получить путь к папке:

string userAppData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);  
string commonAppData = Envrionment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); 

По умолчанию пользователи Vista не запускают программы как администраторы и, следовательно, эти программы имеют доступ только для чтения к папкам в разделе «Program Files». Пользователи могут изменить это поведение, отключив UAC, и вы можете попросить своих пользователей сделать это, но в офисных настройках у пользователей может не быть этой опции. Вот почему вместо этого вы используете AppData - приложения всегда могут читать и записывать данные в папку AppData.

Информацию о UAC можно найти на сайте Microsoft. Хотя эта страница довольно длинная, это отправная точка для понимания UAC: http://msdn.microsoft.com/en-us/library/bb530410.aspx

12
ответ дан 1 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: