Inno Setup: Как получить текущий каталог пользователя при запуске программы установки от имени администратора? - PullRequest
5 голосов
/ 15 июня 2011

Мне нужно записать INI-файл в каталог текущего пользователя в Windows 7 (C: \ Users \ CurUser).CurUser не является администратором.Мой установщик требует прав администратора.Таким образом, мои настройки выглядят так:

[Setup]
PrivilegesRequired=admin

Когда я запускаю установщик, он просит администратора войти в систему.С этого момента все пользовательские константы, userappdata и т. Д. Являются C: \ Users \ AdminUser ... Поэтому мне нужен способ найти CurUser при запуске установки от имени AdminUser.

Примеры кода приветствуются,Спасибо.

Ответы [ 3 ]

3 голосов
/ 17 июня 2011

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

2 голосов
/ 17 июня 2011

Все пользовательские файлы / настройки, которые требуются приложению, должны быть записаны приложением, если они не существуют. Если он требуется из настройки, вы можете записать его в глобальное расположение в качестве «по умолчанию» для приложения, которое нужно скопировать или использовать.

Это также означает, что ваше приложение будет работать для ВСЕХ пользователей в системе, а не только для пользователя, который запустил установку.

0 голосов
/ 24 апреля 2014

В моем случае я просто переключился на {commonappdata} вместо {appdata}, поскольку мои данные были одинаковыми для всех пользователей.

...