Проблема записи в каталог пользователей AppData - PullRequest
0 голосов
/ 12 августа 2011

Мое приложение записывает в реестр HKEY_LOCAL_MACHINE, поэтому я использую файл манифеста для использования функциональности UAC.Хотя, когда я записываю данные в папку AppData пользователя (после появления диалогового окна UAC), данные записываются в папку AppData администратора, а не в папку AppData текущего пользователя.Если я хочу записать данные в правильный путь, как я могу это сделать?

1 Ответ

0 голосов
/ 12 августа 2011

Является ли текущий пользователь, который запускает приложение, в группе администраторов?Вы также можете узнать это, посмотрев приглашение UAC: если пользователь находится в группе «Администраторы», диалоговое окно является простым подтверждением: «Да» или «Нет»;если пользователь не входит в группу администраторов, то в диалоговом окне запрашиваются учетные данные администратора: имя пользователя и пароль.( Снимки экрана Пользовательский интерфейс согласия и Пользовательский интерфейс учетных данных ).

  1. Пользователь равен в группе администраторов
    Затем после нажатия кнопки «Да» приложение запускается в контексте того же пользователя, но с включенным маркером полного администратора.
  2. Пользователь не является в группе администраторов
    Пользователь послевводит имя учетной записи администратора и пароль, приложение запускается в контексте другого пользователя.Поэтому все пользовательские настройки будут записываться в реестр этого администратора и AppData пользователя, а не пользователя, который изначально запустил приложение.

Так что если вы хотите записать глобальные настройки в HKLM и локальные настройки для профиля текущего пользователя, вы выполнили повышенные права только для той части, которая пишет в HKLM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...