【程序打包工具 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}

 

posted @ 2018-01-03 21:39  ~小小鸟~  阅读(2149)  评论(1编辑  收藏  举报