使 Inno Setup 打包出的安装程序以管理员身份运行
在最新的 6.2 版本中,已经不需要这么麻烦了,直接在脚本中的 [Setup] 区域增加设置属性即可,如:
[Setup]
; 以管理员身份运行
PrivilegesRequired=admin
另外在安装最后,如果设置了需要选择是否运行某个程序(即,使用了 postinstall 选项)
当用户勾选了运行,Inno Setup 会默认以当前用户的权限进行运行
若当前用户不是管理员,而此程序又需要管理员权限,则会因权限不足报错。
如果已设置 PrivilegesRequired=admin,则可以在此处增加 runascurrentuser 选项
则运行时会保持与安装程序使用相同的用户权限(即,管理员权限)。
如:
[Run]
; 安装完成后运行 Filename: "{app}\{#MyAppExeName}"; Description: "立即运行“{#MyAppName}”"; Flags: nowait postinstall skipifsilent runascurrentuser
↓↓↓↓↓↓以下是针对 5.x 版本的说明,目前已不再需要。↓↓↓↓↓↓
找到 Inno Setup 安装目录下的 SetupLdr.e32 文件,用 Resource Hacker 将其中的 Manifest 修改一下:
改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
如图:
再重新编译生成的安装包,就都是以管理员身份运行了~
来源:http://blog.csdn.net/x356982611/article/details/50386824
顺便记录下 Resource Hacker 的下载地址:
原版:http://www.angusj.com/resourcehacker/
汉化:http://bbs.kafan.cn/thread-1826109-1-1.html
输了你,赢了世界又如何...