ICE27
ICE27 會驗證安裝套件的 序列資料表 ,以取得搜尋、成本、選取和執行區段中的有效動作、動作順序限制和組織。
ICE27 自訂動作會驗證下列各項:
- 序列資料表的 Action 資料行中列出的動作是 標準動作、 CustomAction 資料表中列出的自訂動作,或 對話方塊列在 Dialog 資料表中的對話方塊。
- 該動作受限於排序限制,在動作順序中彼此的相對順序正確。 排序限制會在某個動作相依于另一個動作時產生。
- 限制為序列特定區段的動作位於其所屬的位置。 ICE27 會驗證序列資料表的下列組織。 請注意,並非所有序列資料表都有每個區段。 請參閱 使用序列資料表中的建議序列資料表。
時序表區段 | 動作順序中的範圍 | 屬於區段的動作 |
---|---|---|
搜尋 | {start} 至 CostInitialize | 搜尋現有應用程式的動作。
AppSearch CCPSearch |
成本 | CostInitialize 至 CostFinalize 動作 | 執行 檔案成本的動作。
CostInitialize FileCost CostFinalize |
選取項目 | CostFinalize 至 InstallValidate | 設定資料夾或功能狀態的動作。
SetODBCFolders 巨集指令 |
執行 | InstallValidate 至 InstallFinalize | 腳本動作,例如註冊、發行集、安裝 (,您可以在其中複製檔案) 。 請注意,只有在 [執行] 區段中有動作時, InstallFinalize 巨集指令 必須位於資料表中。 |
PostExecution | InstallFinalize 至 {end} | RemoveExistingProducts |
ICE27 會驗證下表:
結果
如果套件中有無效動作排序或組織的序列資料表,ICE27 就會張貼錯誤訊息。
範例
ICE27 錯誤 | 描述 |
---|---|
未知的動作:InstallExecuteSequnence 資料表的 'Action1'。 不是標準動作,而且在 CustomAction 或 Dialog 資料表中找不到 | 序列資料表中所列的動作指出不是 標準動作、 CustomAction 資料表中列出的自訂動作,或對話方塊列在 Dialog 資料表中的對話方塊。 |
InstallExecute 資料表中的 'Action2' 位於錯誤的位置。 目前:搜尋、正確:成本 | 序列資料表中有一個動作,在序列資料行中不正確地放置序號。 「Current」 表示動作在指定序列資料表的 [搜尋]、[成本]、[選取範圍] 或 [執行] 區段中的目前位置。 「正確」表示動作所屬的區段。 若要修正此錯誤,請將動作的序號變更為正確區段內的序號。 請注意,某些動作可以位於多個區段中。 |
InstallExecuteSequence 資料表中的 'InstallFinalize' 動作只能在腳本作業存在時呼叫 | 序列資料表中有 InstallFinalize 巨集指令 ,不包含資料表 [執行] 區段中的任何腳本作業。 將動作新增至 [執行] 區段,或從資料表中移除 InstallFinalize 動作。 |
InstallFinalize 必須在 InstallExecuteSequence 資料表中呼叫,因為必須執行腳本作業 | 有一個序列資料表包含執行區段中不包含 InstallFinalize 巨集指令的動作。 將 InstallFinalize 巨集指令新增至此序列資料表,並提供最大的序號,將它放在動作順序的最後一個。 |
動作:InstallExecuteSequence 資料表中的 'Action3' 必須位於 'Action5' 動作之前。 目前的 seq#: 1200。 相依 seq#: 1100 | 指定的序列資料表中有一個動作,會在相依動作之後排序。 變更相依動作上的序號,使其出現在動作之前。 |
動作:InstallExecuteSequence 資料表中的 'Action4' 必須位於 'Action6' 動作之後。 | 指定的序列資料表中有一個動作,會在與其相依的動作之前進行排序。 變更動作上的序號,使其出現在其相依動作之後。 |
相關主題