Вопрос: Использование Windows 7, исключение неавторизованного доступа при запуске моего приложения
Мое приложение вызывает ошибку несанкционированного доступа. Во время работы приложения я пытаюсь получить доступ к каталогу в следующем месте: Application.UserAppDataPath.
Проблема: он говорит, что у меня нет разрешения на доступ к каталогу Application.UserAppDataPath
Есть ли способ установить разрешения в исходном коде моего приложения?
Что-то вроде:
Application.UserAppDataPath.SetPermissions()
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, специфичную для вашего приложения.
Вероятно, это проблема UAC. Попробуйте запустить приложение с повышенными правами и посмотрите, не исчезла ли ошибка.