共用方式為


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' 動作之後。 指示的序列數據表中有一個動作,在所相依的動作之前排序。 變更動作的序號,使其位於其相依動作之後。

 

ICE 參考