動作執行順序
動作執行的順序取決於已撰寫至 順序數據表的動作順序,以及安裝程式執行時序表的順序。 如需詳細資訊,請參閱 使用時序表中建議的動作順序。
安裝程式會執行順序數據表,以回應安裝、公告或 系統管理安裝的要求。 例如,為了回應使用 /I、/J 或 /A 命令行選項、INSTALL、ADVERTISE,以及不會從動作順序內呼叫 ADMIN 動作。 當安裝程式初始化時,這些高階動作會改為傳遞至安裝程式。
如果安裝程式已通過 INSTALL 動作,且安裝套件已透過使用者介面撰寫,安裝程式會先在 installUISequence 數據表 執行動作,然後依序執行 InstallExecuteSequence 數據表中的動作。 如果套件沒有使用者介面,安裝程式會依序執行 InstallExecuteSequence 資料表中的動作。
如果安裝程式已透過 ADMIN 動作,而且安裝套件已透過使用者介面撰寫,安裝程式會先執行 AdminUISequence 資料表,然後執行 AdminExecuteSequence 資料表。 如果套件沒有使用者介面,安裝程式會執行 AdminExecute 數據表。
如果安裝程式通過 ADVERTISE 動作,安裝程式會執行 AdvtExecuteSequence 數據表。
注意
安裝程式不會使用 AdvtUISequence 數據表。 AdvtUISequence 數據表不應該存在於安裝資料庫中,或應該保留空白。
當安裝程式執行時序表時,它會依照 Sequence 資料行中列出的序號順序執行動作。 動作順序一律為線性,且沒有分支或迴圈。 封裝開發人員可以有條件地防止將邏輯表達式撰寫至 Condition 數據行來執行特定動作。 每當條件評估為 False 時,安裝程式就會略過動作。 請參閱使用序列資料表 和 條件語句語法 。
所有順序數據表都有下列數據行。
列 | 描述 |
---|---|
行動 | 數據表的主鍵;動作名稱必須是唯一的。 |
條件 | 布爾表達式,用來判斷是否要執行動作。 如果此欄位是空白,或包含評估為 True 的運算式,則會執行此動作。 如果表達式評估為 False,則不會執行動作。 |
序列 | 用來判斷執行動作的順序的相對序號。 |