WIN7 & Inno-Setup: как заставить программу "автозапуск для всех пользователей" запускаться под именем каждого пользователя - PullRequest
2 голосов
/ 03 апреля 2011

Этот вопрос возник из моего другого вопроса. Пожалуйста, смотрите больше фона здесь .

Из другого поста выясняется, что мое приложение должно работать под именем текущего владельца аккаунта. Я использую Inno-setup для установки этого приложения. Существует возможность установить «автозапуск только для текущего пользователя» или «автозапуск для всех пользователей». Однако оба варианта мне не подходят, потому что программа всегда запускается от имени пользователя «admin», что не позволяет моему приложению работать.

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

После долгой борьбы, как я понял, мне пришлось отказаться от функции автоматического запуска inno-setup. Сначала установите его из стандартной учетной записи как другой пользователь (администратор). Затем мне пришлось вручную добавить запись в HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run для автоматического запуска при запуске Windows. Это работает, но я не могу поверить, что нет лучшего способа сделать это.

Вот соответствующий скрипт inno-setup:

[Tasks]
Name: startup; Description: "Launch automatically when Windows starts up"; GroupDescription: "Additional icons:"
Name: startup\user; Description: "For the current user only"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked
Name: startup\common; Description: "For all users"; GroupDescription: "Additional icons:"; Flags: exclusive

Я использую последнюю версию Inno-Setup (v5.4.2). Я что-то здесь упустил?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2012

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

[Icons]
Name: "{commonstartup}\LoopJam"; Filename: "{app}\resources\LoopJam.exe"; IconFilename: "{app}\LoopJam.ico";
0 голосов
/ 20 июня 2011

Inno не имеет функции автозапуска, и вы забыли показать нам строки, которые фактически создают значения Run.Сказав это, просто добавив ключ запуска HKLM Explorer, он будет запускаться для каждого пользователя при входе.

...