Как настроить разрешения для папки приложения для записи XML-документов - PullRequest
1 голос
/ 18 ноября 2009

У меня есть приложение на рабочем столе, использующее VS2005.

Приложение записывает XML-документ в папку приложения.

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

Мое приложение будет разослано нескольким пользователям, и, следовательно, не удалось освободить доступ из Windows Explorer. Требуется доступ, чтобы освободить при установке моего приложения на компьютере пользователя.

Как мне решить эту проблему?

Мне нужно использовать папку, в которую пользователь установил приложение, обычно это C: \ Program Files \ ...

Мое приложение создаст следующую архитектуру:

C:\Program Files\CapProj\Data\ << where the XML files will be located >>
C:\Program Files\CapProj\Imagens\ << images folder >>

.EXE файл будет в C:\Program Files\CapProj\CapProj.EXE.

Мое приложение не использует систему баз данных. Это приложение использует только XML-файлы для хранения данных, потому что это приложение будет распространяться среди многих пользователей в Бразилии.

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

Приложение должно записывать файлы, принадлежащие пользователю, в папку «Мои документы» этого пользователя, а не в папку приложения.

Путь к папке «Мои документы» можно получить с помощью .NET Framework со следующим кодом C #:

var myDocsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));

Если файл XML больше похож на настройки приложения, тогда используйте Environment.SpecialFolder.ApplicationData или более подходящую специальную папку .

0 голосов
/ 18 ноября 2009

Попробуйте вместо этого использовать каталог AppData пользователя. Вы можете использовать:

string appDataDir = Application.UserAppDataPath;
...