Inno Setup 3 :語法解析(二)
[Setup]
[Setup]段包含用於安裝程序和卸載程序的全局設置。某些提示對於你創建的任何安裝程序都是必須的。示例如下:
[Setup]
AppName=My Program
AppVerName=My Program Version 3.1
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
按默認,指令值的所有首位或末位無顯示字符將被分離。這可以通過質控的值包含在雙引號 "" 中避免。
其中,[Setup]段必須包含的指令如下:
- AppName
- AppVerName
- DefaultDirName
[Types]
[Types]段是可選的,用來定義安裝程序在選擇組件頁面時可供選擇的所有安裝類型。如果你在[Components]段定義了組件,但沒有定義類型,在編譯時將創建一個默認的安裝類型設置。如果你正在使用默認(簡體中文)消息文件,這些類型等同於下面示例中的類型。[Types]段示例如下:
[Types]
Name: "full"; Description: "Full installation"
Name: "compact"; Description: "Compact installation"
Name: "custom"; Description: "Custom installation"; Flags: iscustom
下列是[Types]段所有支持的參數列表:
-
Name(必需的)
類型的內部名字。用於定義[Components]段中組件參數,告訴安裝程序組件屬於哪個類型。示例:Name: "full"
-
Description(必需的)
類型的描述,可以包含常量。這個描述在安裝期間顯示。示例:Description: "完全安裝"
-
Flags
這個參數是額外選項是設置,多個選項可以使用空格隔開。支持羨慕的選項:
iscustom :
告訴安裝程序這個類型是自定義類型。用戶在安裝期間手動改變了組件選擇,安裝程序會將安裝類型設置為自定義類型。註意,如果未定義自定義類型,安裝程序將只允許用戶選擇一個安裝類型,並且不能手動選擇/取消選擇組件。僅一種類型可以包含該標記。示例如下:Flags: iscustom
[Components]
[Components]段是可選的,它定義安裝程序向導的選擇組件頁面中顯示的所有組件,以便於用戶定制安裝類型。
只用這一個組件不會做任何事情,它需要“鏈接”到其他安裝目錄。示例如下:[Components] Name: "main"; Description: "主文件"; Types: full compact custom; Flags: fixed Name: "help"; Description: "幫助文件"; Types: full Name: "help\english"; Description: "English"; Types: full Name: "help\chinese"; Description: "簡體中文"; Types: full
該示例生成四個組件:"main"組件在最終用戶選擇一個名為"full"或"compact"的類型時安裝。帶有兩個子組件的"help"組件僅在用戶選擇"full"類型時安裝。
下列是所支持的參數列表: -
Name(必須的)
組件的內部名稱。
在組件名稱中的 \ 或 / 字符符合計數是調用組件的層次。任何在層次 1 或更高層次的組件是子組件。在子組件前列出的小於子組件層次的組件是上級組件。其他有相同上級組件的組件之間稱為同級組件。
如果上級組件未選定,則不能選定它的子組件。如果所有的子組件均未選定,則上級組件也不能選定,除非Components參數引用上級組件或上級組件包含checkablealone標記。
如果同級組件已經標有exclusive標記,則它們之中只有一個可選。示例如下:Name: "help"
-
Description(必須的)
組件的描述,可以包含常量。這個描述用於在安裝期間顯示給用戶參考。示例如下:Description: "幫助文件"
- Types
用空格隔開所屬組件的類型列表。如果用戶從這個列表中選擇了一個類型,這個組件將被安裝。
如果未使用fixed標記(見下文),這個列表中的任何自定義類型(使用iscustom標記的類型)均會被安裝程序忽略。示例如下:Types: full compact
-
ExtraDiskSpaceRequired
這個組件所需要的額外磁盤空間,類似於[Setup]段中的ExtrDiskSpaceRequired。示例如下:ExtraDiskSpaceRequired: 0
-
Flags
這個參數是額外選項設置。多個選項可以使用空格隔開。其支持下面的選項:
checkblealone:
指定當一個組件的所有子組件未被選中時,該組件可以被選中。默認的,如果沒有Components參數直接引用到該組件,所有未選中的子組件都將導致該組件被設置為未選中狀態。
dontinheritcheck:
指定當該組件被上級選中時,不影響組件選擇狀態。這不影響對頂層的組件,且該標記不能與exclusive標記一起使用。
exclusive:
告訴安裝程序該組件與其他擁有exclusive標記的組件是互斥的。
fixed:
告訴安裝程序在安裝流程中該組件不提供選擇項供用戶選擇。
restart:
告訴安裝程序若安裝該組件,則無論是否需要,都告訴用戶重啟電腦。(例如,[Files]段條目用了restartreplace標記),這有點像AlwaysRestart,但並不是每個組件都需如此。
diableenouninstallwarning:
如果這個組件在電腦上已安裝,則重建安裝時用戶取消安裝該組件,該標記告訴安裝程序不進行警告提示用戶將不卸載該組件。
根據組件的復雜性,可使用[installDelete]段和該標記來自動卸載未選定的組件。
示例如下:Flags: fixed
[Tasks]
[Dirs]
[Files]
[Icons]
[INI]
[InstallDelete]
[Languages]
[Messages]
[CustomMessages]
[LangOptions]
[Registry]
[Run]
[UninstallDelete]
[UninstallRun]
Inno Setup 3 :語法解析(二)