Inno Setup:如何设置安装程序"以管理员身份运行"?

健榮 *_*榮 陳 11 inno-setup

在Inno设置中,

[Setup] 
PrivilegesRequired=admin 
Run Code Online (Sandbox Code Playgroud)

仍然无法以管理员身份运行安装程序,但我需要在Inno Setup的最后一步启动我的程序.

如何设置我的安装程序可以作为管理员运行?

小智 24

我也遇到了同样的问题,我花了很多时间才弄明白,在你设置了PrivilegesRequired = admin后,你还需要将runascurrentuser添加到所有[Run] Flags中.

[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()
Run Code Online (Sandbox Code Playgroud)

考虑到这个问题是在两年前被问到的,我知道你可能已经找到了这个问题,但我认为无论如何我会像其他人一样回答这个问题,但是我发现这个问题尚未得到答案,但我真的很想看到答案.

  • FWIW,指定`runascurrentuser`将尝试使用管理员权限运行应用程序.这应该几乎永远不会是您真正想要的,因为需要管理员权限的应用程序通常都很糟糕.(大多数情况下它表明你在应用程序代码中做错了.)另外,没有必要在非`posttinstall`条目上指定这个标志(它更可接受),因为它是默认值.而这个问题没有答案的原因是这个问题没有意义. (3认同)
  • @Miral请告诉我们为什么它没有意义,谢谢。 (2认同)