簡述
安裝程序顯示最終對話框前要執行的一些程序.
[Run]
-
Filename 必需的
-
Description 描述
-
Parameters 參數
-
WorkingDir 默認初始為當前目錄啟動
-
StatusMsg 安裝過程的消息: 默認為 正在完成安裝
-
Flags
此參數是一組額外選項。可以通過用空格分隔它們來使用多個選項。支持以下選項:32bit
當在 Filename 和 WorkingDir 參數中使用時,促使{sys}常量映射到 32-位系統目錄。這是在一個 32-位 模式安裝中的默認行為。該標志不能與 shellexec 標志組合。
64bit
當在 Filename 和 WorkingDir 參數中使用時,促使{sys}常量映射到 64-位系統目錄。這是在一個 64-位安裝模式安裝中的默認行為。當安裝程序運行在 64-位 Windows 時,該標志僅可被使用,否則將會出現一個錯誤。在一個安裝支持 32- 和 64-位體系結構時,通過添加一個 Check: IsWin64 參數可以避免該錯誤,當運行在 32-位 Windows 時,將導致該項被靜默跳過。
該標志不能與 shellexec 標志組合。
hidewizard
如果指定了該標志,向導將在程序運行期間隱藏。nowait
如果指定了該標志,它將在處理下一個 [Run] 條目前或完成安裝前不等待進程執行完成。不能與 waituntilidle 或 waituntilterminated 組合使用。postinstall
僅在 [Run] 區段有效。告訴安裝程序在安裝完成向導頁面創建一個選擇框,用戶可以選擇或不 選擇該復選框從而決定是否處理這個條目。以前該標志調用 showcheckbox。如果安裝程序已經重新啟動了用戶的電腦(安裝了一個帶 restartreplace 標志的文件或如果 [Setup] 區段的 AlwaysRestart 指令是 yes 引起的),選擇框沒有機會出現,因此這些條目不會被處理。
[Files] 區段條目中的 isreadme 標志現在已被廢棄。如果編譯器帶 isreadme 標志的條目,它將從 [Files] 區段條目中去除 isreadme 標志,並在 [Run] 區段條目列表的開頭插入一個生成的 [Run] 條目。該生成的 [Run] 區段條目運行自述文件,並帶有 shellexec,skipifdoesntexist,postinstall 和 skipifsilent 標志。
runascurrentuser
如果指定了該標志,則產生的進程將繼承安裝/卸載的用戶證書(典型的,完全的管理權限)。當 postinstall 標志未被使用時,這是默認行為。
該標志不能與 runasoriginaluser 組合使用。
runasoriginaluser
僅在 [Run] 區段有效。如果該標志被指定,並且該系統是正運行的 Windows Vista 或以后的版本,則產生的進程將執行帶有最初啟動安裝程序的用戶證書(通常非高層級的) (即,"pre-UAC 對話框"證書)。當 postinstall 標志被使用時,這是默認行為。
如果用戶通過右鍵點擊它的 EXE 文件並選擇 "以管理員身份運行" 來啟動安裝程序,那么遺憾的是這個標志不會有任何效果,因為安裝程序有沒有機會用原來的用戶證書運行任何代碼。如果安裝程序是從已提升的進程中啟動,也是同樣的道理。但是請注意,這不是 Inno Setup 一個特定的限制;在任何一種情況中 Windows Installer 的基本安裝程序不能返回到原始用戶證書。
該標志不能與 runascurrentuser 組合使用。
runhidden
如果指定了該標志,它將在隱藏窗口中運行程序。請在執行一個要提示用戶輸入的程序中不要使用該標志。runmaximized
如果指定了該標志,將在最大化窗口運行程序或文檔。runminimized
如果指定了該標志,將在最小化窗口運行程序或文檔。shellexec
如果 Filename 不是一個直接可執行文件(.exe 或 .com 文件),該標志是必需的。當設置該標志時,Filename 可以是一個文件夾或任何已注冊的文件類型 -- 包括 .hlp,.doc 等。該文件將用用戶系統中與這個文件類型關聯的應用程序打開,與在資源管理器雙擊文件的方法是相同的。按默認值,當使用 shellexec 標志時,將不等待,直到生成的進程終止。
如果你需要,你必須添加標志 waituntilterminated。注意,如果新進程未生成,它不能執行也將不等待 -- 例如,文件指定指定為一個文件夾。skipifdoesntexist
如果該標志在 [Run] 區段中指定,如果 Filename 不存在,安裝程序不顯示錯誤消息。如果該標志在 [UninstallRun] 區段中指定,如果 Filename 不存在,卸載程序不顯示“一些元素不能刪除”的警告。
在使用該標志時,Filename 必須是一個絕對路徑。
skipifnotsilent
僅在 [Run] 區段有效。告訴安裝程序如果安裝程序未在靜默運行則跳過這個條目。skipifsilent
僅在 [Run] 區段有效。告訴安裝程序如果安裝程序在靜默運行則跳過這個條目。unchecked
僅在 [Run] 區段有效。告訴安裝程序初始為不選中選擇框。如果用戶希望處理這個條目,可以通過選取選擇框執行。如果 postinstall 標志未同時指定,該標志被忽略。waituntilidle
如果指定了該標志,它將在未輸入期間等待,直到進程等待用戶輸入,而不是等待進程終止。(調用 WaitForInputIdle Win32 函數。)不能與 nowait 或 waituntilterminated 組合使用。waituntilterminated
如果指定該標志,將等待到進程完全終止。注意這是一個默認動作(也就是你不需要指定該標志),除非你使用了 shellexec 標志,在這種情況下,如果你要等待,需要指定該標志。不能與 nowait 或 waituntilidle 組合使用。
code
[Run]
Filename: "{app}\INIT.EXE"; Parameters: "/x"
Filename: "{app}\README.TXT"; Description: "查看自述文件"; Flags: postinstall shellexec skipifsilent
Filename: "{app}\MYPROG.EXE"; Description: "運行應用程序"; Flags: postinstall nowait skipifsilent unchecked