Inno Setup CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)

原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html

http://blog.csdn.net/x356982611/article/details/50386824/

1、问题描述

Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框。

这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图直接运行。解决方案:为安装包添加管理员权限。

2、添加管理员权限

(1) 在.iss文件的[Setup]节点添加 PrivilegesRequired=admin

(2) 进入安装目录,找到文件SetupLdr.e32,这是一个二进制配置文件,需要用ResourceHacker.exe这个工具修改

   找到<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>,

修改为<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges>

(3) 修改资源后别忘了编译一下,然后保存修改后的文件,并替换原来的SetupLdr.e32文件

3、删除管理员权限

(1) 在[Setup]节点添加 PrivilegesRequired=none 或者 PrivilegesRequired=lowest

(2) 在[Setup]节点修改 DefaultDirName(安装路径)的值,默认可能是DefaultDirName={pf}{#MyAppName},

  不要带{pf}, {win}, {sys}这些变量值,比如设置成DefaultDirName={localappdata}{#MyAppName}

原文地址:https://www.cnblogs.com/xiurui12345/p/11814188.html