inno setup打包程序安装出现CreateProcess failed;code 740

问题: 使用inno setup打包我们发布的程序test.exe,在安装结束后,勾选了Launch xxx运行程序,然后出现如下报错:

Unable to execute file:xxx

CreateProcess failed;code 740.

请求的操作需要提升。

 

 

报错原因: 下面是test.exe的2个图标,带盾牌的是具备管理员权限,不带盾牌的为普通程序。

 

  • 打包普通程序时,安装结束不会报错;
  • 打包带管理员权限程序时,安装结束才会报错。

个人猜测可能是因为在执行安装包时,安装包不带管理员权限,所以在安装结束后去启动不带管理员权限的test.exe,可以正常执行。

但是,如果去执行带管理员权限的test.exe,就会有权限问题。

解决思路: 所以,我们需要将安装包也具备管理员权限,让安装包以管理员权限运行。

具体实施步骤如下:

让inno setup生成的安装包带管理员权限

1、下载Resource Hacker

下载地址:http://www.angusj.com/resourcehacker/

 

 

2、修改SetupLdr.e32文件

右键管理员权限运行ResourceHacker.exe,选择File->Open,找到Inno Setup安装目录下的SetupLdr.e32文件。

 

 

将"asInvoker"改为"requireAdministrator"

 

 

修改后,先选择Action->Modify,然后再File->Save。如下:

 

 

3、在.iss文件的[Setup]节点添加 PrivilegesRequired=admin

4、重新编译打包脚本

使用inno setup重新编译,生成的安装包,图标会带盾牌。如下:

 

 

原文地址:

https://blog.csdn.net/zyhse/article/details/108169479

http://t.zoukankan.com/happykoukou-p-8185815.html

 

posted @ 2022-07-27 10:34  一万年以前  阅读(1224)  评论(0编辑  收藏  举报