Вопрос: Используя Windows 7, Исключение Несанкционированного доступа при запуске моего приложения

Мое приложение повышает ошибку несанкционированного доступа. При запуске моего приложения я пытаюсь получить доступ к каталогу в следующем месте: Приложение. UserAppDataPath.

Проблема: Это говорит, что у меня нет разрешения получить доступ к Приложению. Каталог UserAppDataPath

Существует ли способ установить полномочия в рамках моего исходного кода приложения?

Что-то как:

Application.UserAppDataPath.SetPermissions()
5
задан Jon Seigel 9 May 2010 в 19:22
поделиться

2 ответа

Глядя на ваш комментарий, вы говорите, что это ваш код:

StreamReader sr = new StreamReader(Application.UserAppDataPath);

Application.UserAppDataPath - это каталог , а не файл . Если вы попытаетесь открыть его напрямую, это то же самое, что попытаться открыть файл на один уровень ниже папки AppData, на что у вас действительно нет разрешения.

Используйте Path.Combine , чтобы создать путь к файлу внутри папки AppData, т.е.

string fileName = Path.Combine(Application.UserAppDataPath, "settings.xml");
StreamReader sr = new StreamReader(fileName);

Конечно, это всего лишь пример - на самом деле вам, вероятно, следует использовать подпапка внутри AppData, специфичная для вашего приложения.

13
ответ дан 18 December 2019 в 11:55
поделиться

Вероятно, это проблема UAC. Попробуйте запустить приложение как процесс с повышенными правами и посмотрите, сохраняется ли ошибка

2
ответ дан 18 December 2019 в 11:55
поделиться
Другие вопросы по тегам:

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