首页 > 代码库 > Inno Setup打包的程序提升为管理员权限
Inno Setup打包的程序提升为管理员权限
Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框。
这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图直接运行。
解决的办法网上有很多,但都说的不具体。如http://www.cnblogs.com/walker-lc/articles/3470679.html
添加管理员权限
1、在[Setup]节点添加 PrivilegesRequired=admin
2、进入安装目录,找到文件SetupLdr.e32,这是一个二进制配置文件,需要用到ResHacker.exe这个工具修改
找到<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>,
修改为<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges>
删除管理员权限
1、在[Setup]节点添加 PrivilegesRequired=none 或者 PrivilegesRequired=lowest
2、在[Setup]节点修改 DefaultDirName(安装路径)的值,默认可能是DefaultDirName={pf}\{#MyAppName},
不要带{pf}, {win}, {sys}这些变量值,比如设置成DefaultDirName={localappdata}\{#MyAppName}
因为说的比较笼统,所以网上还是不断有人问同样的问题。这里将以上添加管理员权限的过程细化一下。
1.找到Inno Setup的安装路径,如D:\Program Files\Inno Setup 5,找到SetupLdr.e32文件
2.下载一个eXeScope.exe并打开SetupLdr.e32文件,如图:
3.重新打包软件,安装完后即可以管理员权限运行,且桌面快捷方式效果为:
图片是丑了点,不过重点在于黑框中的小盾牌,表示提升权限成功了。
Inno Setup打包的程序提升为管理员权限