ICE27

ICE27 在 Search、Costing、Selection 和 Execution 节中验证安装包的序列表,以确定有效操作、操作序列限制和组织方式。

ICE27 自定义操作验证以下内容:

  • 序列表的 Action 列中列出的操作是标准操作CustomAction 表中列出的自定义操作或 Dialog 表中列出的对话框。
  • 受排序限制的操作在操作序列中彼此的相对顺序正确。 当一个操作依赖于另一个操作时,会产生排序限制。
  • 限制为序列的特定部分的操作位于它们所属的位置。 ICE27 验证序列表的以下组织方式。 请注意,并非每个序列表都具备所有节。 请参阅使用序列表中建议的序列表。
序列表部分 操作序列中的范围 属于节的操作
搜索 {start} 到 CostInitialize 用于搜索现有应用程序的操作。 AppSearch
CCPSearch
成本 CostInitializeCostFinalize action 用于执行文件成本计费的操作。 CostInitialize
FileCost
CostFinalize
选择 CostFinalizeInstallValidate 这些操作可设置文件夹或功能状态。 SetODBCFolders 操作
执行 InstallValidateInstallFinalize 脚本操作,如注册、发布、安装(复制文件的位置)。 注意:当且仅当 Execution 节中包含操作时,表中才必须包含 InstallFinalize 操作
PostExecution InstallFinalize 到 {end} RemoveExistingProducts

 

ICE27 验证下表:

结果

如果包中的某些序列表存在无效的操作序列或组织方式,ICE27 会发布错误消息。

示例

ICE27 错误 说明
未知操作:InstallExecuteSequnence 表的“Action1”。 不是标准操作,在 CustomAction 或 Dialog 表中找不到 序列表中列出的某个操作指示此操作不是标准操作,不是 CustomAction 表中列出的自定义操作,也不是 Dialog 表中列出的对话框。
InstallExecute 表中的“Action2”位于错误的位置。 当前位置:Search,正确位置:Costing 序列表中的操作相对于 Sequence 列中的序列号放置不正确。 “当前”表示操作在所示顺序表的 Search、Costing、Selection 或 Execution 部分中的当前位置。
“正确”指示操作所属的节。
若要修复此错误,请将操作的序列号更改为正确的节。 请注意,某些操作可以位于多个节中。
仅当存在要执行的脚本操作时,才能调用 InstallExecuteSequence 表中的“InstallFinalize”操作 序列表中有一个 InstallFinalize 操作,该操作在表的 Execution 节不含任何脚本操作。 将操作添加到 Execution 节,或从表中移除 InstallFinalize 操作。
InstallFinalize 必须在 InstallExecuteSequence 表中调用,因为存在要执行的脚本操作 有一个序列表包含 Execution 节中的操作,但此序列表不包含 InstallFinalize 操作。 将 InstallFinalize 操作添加到此序列表,并为其指定最大序列号,以便将其放在操作序列中的最后一个位置。
操作:InstallExecuteSequence 表中的“Action3”必须位于“Action5”操作之前。 当前序列号:1200。 依赖序列号:1100 指示的序列表中有一个操作,该操作在依赖操作之后进行排序。 更改依赖操作的序列号,使其位于操作之前。
操作:InstallExecuteSequence 表中的“Action4”必须位于“Action6”操作之后。 所示序列表中有一个操作的顺序是在其依赖的操作之前。 更改操作的序列号,使其位于其依赖操作之后。

 

ICE 参考