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