問題: 使用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
