Переписать файл xml в папке моего приложения - PullRequest
0 голосов
/ 14 апреля 2011

Я использую WPF-C #, когда я закрываю свое приложение, мне нужно написать какой-нибудь XML-документ. он находится в папке моего приложения (../Data/test.xml). его работа во время отладки. при развертывании приложения я не могу получить доступ к xmlfile в папке программных файлов. как я могу решить эту проблему .. следующее изображение является исключением http://img197.imageshack.us/i/errqu.jpg/

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

Ваши пользователи не могут изменять файл, расположенный в Program Files.

Если у вас есть файл конфигурации, который вы хотите изменить, вам нужно сохранить его в собственной папке пользователя ApplicationData, например ::

C:\Users\Bill\AppData\Local\SoftCo Software Inc\SuperApp\appconfig.xml

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

Но вы не должны этого делать; это позволяет одному пользователю изменять настройки программы, которые будут влиять на другого пользователя. Эти параметры должны быть индивидуальными для каждого пользователя (и храниться в %AppData%, к которому пользователь уже будет иметь доступ).

0 голосов
/ 14 апреля 2011

Это из-за Windows UAC .Вы можете решить эту проблему либо

  1. , используя опцию «Запуск от имени администратора», из контекстного меню приложения.
  2. Измените файл AppManifest.
  3. Измените расположение файламеста для записи пользователем.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...