Не удалось записать файл в Application.StartupPath в Windows 7 - PullRequest
1 голос
/ 17 апреля 2011

Я создал приложение winform, а затем создал настройку этого приложения.это приложение записывает некоторую информацию в Application.StartupPath в файл.к сожалению, я получил исключение, когда я пытаюсь написать файл «Доступ запрещен».Пожалуйста, покажите мне, как мне избавиться от этого ..

Спасибо

Ответы [ 2 ]

10 голосов
/ 17 апреля 2011

Никогда не следует предполагать, что путь запуска приложения доступен для записи кому-либо, кроме системных администраторов, особенно в современных системах Windows.

Вместо того, чтобы хранить ваш файл там, я бы предложил вам использовать папку, возвращаемую Environment.GetFolderPath(SpecialFolder.ApplicationData). Эта папка гарантированно доступна для записи текущему пользователю.

Руководство Microsoft по этому вопросу можно найти здесь .

6 голосов
/ 17 апреля 2011

Это типично - вы не должны писать в область «Программы» своего приложения.Вы должны писать в область файловой системы data - возможно, в область настроек пользователя или в общую область настроек приложения.

В основном политика была ужесточена (в Vista, я считаю,) пытаться отговорить программы делать именно то, что вы сейчас делаете.Наилучший подход - не обходить его, а менять место, где ваше приложение хранит свои настройки.

...