«Доступ запрещен» к XML-файлу в приложении Windows - PullRequest
1 голос
/ 16 ноября 2011

В моем приложении .net windows я использую файл xml. Но after installing the application путем создания установки, пока я запускаю, отображается сообщение t 'Access Denied' to that xml file.

Я использую System.IO.File методы для выполнения файловых операций.

Если кто-то знает, что решение, пожалуйста, поделитесь.

Ответы [ 3 ]

2 голосов
/ 16 ноября 2011

Доступ на запись в программный каталог становится все более и более ограниченным (начиная с XP / Vista), поскольку это риск для безопасности!

Я бы предложил иметь "базовую версию" этого файла только для чтения в каталоге вашей программы ...

После запуска вашего приложения вы проверяете, присутствует ли оно в ApplicationData или LocalApplicationData или CommonApplicationData - (чтобы получить реальное путь во время выполнения использовать Environment.GetFolderPath). Если его там нет, скопируйте его туда - в этих местах ваше приложение по умолчанию имеет права на запись без прав администратора.

1 голос
/ 16 ноября 2011

Однажды у меня была эта проблема, поэтому я использовал изолированное хранилище, и это решило мою проблему.Это может или не может работать для вас в зависимости от характера вашей ситуации, но вот краткое руководство о том, как его использовать:

http://www.codeproject.com/KB/dotnet/IsolatedStorage.aspx

1 голос
/ 16 ноября 2011

Папка Program Files имеет ограниченный доступ и может быть изменена учетной записью администратора.Я бы посоветовал вам сохранить ваш XML-файл в папке * C: \ Users \ YourPCName \ AppData \ Local \ YourAppFolder *.

Таким образом, вы сможете получить доступ и изменить файл

...