问题: 使用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、重新编译打包脚本
使用inno setup重新编译,生成的安装包,图标会带盾牌。如下:
转自:https://blog.csdn.net/zyhse/article/details/108169479