1. 程式人生 > >用inno setup製作管理員許可權啟動的安裝包

用inno setup製作管理員許可權啟動的安裝包

inno setup製作的安裝包,預設是不需要管理員許可權啟動的。我們製作安裝包,往往需要做一些設定工作,這些設定工作可能用到管理員許可權。使用Resource Hacker修改inno setup資源,使inno settup生成的安裝包以管理員許可權啟動。

1 Resource Hacker簡介

Resource Hacker 免費軟體,用於檢視,修改,新增和刪除 Win32 可執行檔案的資源。內建了一個內部資源編譯器和反編譯器。

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')

這裡寫圖片描述