首页 > 代码库 > 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打包的程序提升为管理员权限