原文參考 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}