inno setup制作的安裝包,默認是不需要管理員權限啟動的。我們制作安裝包,往往需要做一些設置工作,這些設置工作可能用到管理員權限。使用Resource Hacker修改inno setup資源,使inno settup生成的安裝包以管理員權限啟動。
1 Resource Hacker簡介
Resource Hacker 免費軟件,用於查看,修改,添加和刪除 Win32 可執行文件的資源。內置了一個內部資源編譯器和反編譯器。
官網:http://www.angusj.com/resourcehacker/
安裝包:http://www.angusj.com/resourcehacker/reshacker_setup.exe
壓縮包:http://www.angusj.com/resourcehacker/resource_hacker.zip
2 Resource Hacker功能
2.1. 查看 Win32 可執行和相關文件的資源 (.exe, .dll, .cpl, .ocx),在已編譯和反編譯的格式下都可以。
2.2. 提取 (保存) 資源到文件 (*.res) 格式,作為二進制,或作為反編過的譯資源腳本或圖像。
圖標,位圖,指針,菜單,對話,字符串表,消息表,加速器,Borland 窗體和版本信息資源都可以被完整地反編譯為他們各自的格式,不論是作為圖像或 *.rc 文本文件。
2.3. 修改 (替換) 可執行文件的資源。
圖像資源 (圖標,指針和位圖) 可以被相應的圖像文件 (.ico, .cur, .bmp),.res 文件,甚至另一個 *.exe 文件所替換。
對話,菜單,字符串表,加速器和消息表資源腳本 (以及 Borland 窗體) 可以通過使用內部資源腳本編輯器被編輯和重新編譯。
資源也可以被一個 *.res 文件所替換,只要替換的資源與它是同一類型並且有相同的名稱。
2.4. 添加 新的資源到可執行文件。
允許一個程序支持多種語言,或者添加一個自定義圖標或位圖 (公司的標識等) 到程序的對話中。
2.5. 刪除 資源。大多數編譯器添加了應用程序永遠不會用到的資源到應用程序中。刪除這些不使用的資源可以減小一個應用程序的大小。
3 使用ResourceHacker修改inno setup資源
3.1 解壓resource_hacker.zip壓縮包,運行 resource_hacker.exe。
3.2 選擇ResourceHacker 文件菜單中的打開菜單,打開inno setup的SetupLdr.e32 文件。
3.3 修改 SetupLdr.e32 的Manifest文件。
A:把requestedExecutionLevel level設置為requireAdministrator
B: 點擊 編譯 按鈕,點擊保存。
C:點擊保存按鈕,保存修改后的文件。
3.4 使Inno Setup 打包的文件將以管理員權限運行。生成的打包文件帶有管理員啟動標志。
未修改前圖標沒有盾牌:
修改后圖標多了盾牌:
3.5 注意:這里只是安裝包文件使用管理員權限啟動,如果要使包內的運行文件使用管理員權限,你需要設置自己開發升序的manifest屬性requestedExecutionLevel level="requireAdministrator"。
即vs工程的配置屬性=>清單文件=>UAC執行級別=>選則requireAdministrator(/level='requireAdministrator')
轉自:https://blog.csdn.net/longji/article/details/53523808