Inno Setup: Как установить установщик "Запуск от имени администратора"?

В Inno Setup,

[Setup] 
PrivilegesRequired=admin 

по-прежнему не может запустить установщик в качестве администратора, но мне нужно запустить программу на последнем этапе Inno Setup.

Как сделать, чтобы мой установщик мог работать как администратор?

Ответ 1

У меня тоже была такая же проблема, мне потребовалось довольно много времени, чтобы понять, что после того, как вы установили PrivilegesRequired = admin, вам также нужно добавить runascurrentuser ко всем флажкам [Run].

[Setup]
PrivilegesRequired=admin

[Run]
Filename: "{app}\MyApp.exe"; Description: "{cm:LaunchProgram,MyApp}"; Flags: runascurrentuser nowait postinstall skipifsilent; Check: returnTrue()
Filename: "{app}\MyApp.exe"; Flags: runascurrentuser; Parameters: "-install -svcName ""MyApp"" -svcDesc ""MyApp"" -mainExe ""MyApp.exe""  "; Check: returnFalse()

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

Ответ 2

#define MyAppName "XXX"
 #define MyAppExeName "XXX.exe"

[Setup]
PrivilegesRequired = админ

[Run]
Имя файла: "{app} {# MyAppExeName}"; Описание: "{cm: LaunchProgram, {# StringChange (MyAppName, '& amp;', '& & amp;')}}"; Флаги: runascurrentuser nowait postinstall skipifsilent