ICE27
ICE27 在 Search、Costing、Selection 和 Execution 节中验证安装包的序列表,以确定有效操作、操作序列限制和组织方式。
ICE27 自定义操作验证以下内容:
- 序列表的 Action 列中列出的操作是标准操作、CustomAction 表中列出的自定义操作或 Dialog 表中列出的对话框。
- 受排序限制的操作在操作序列中彼此的相对顺序正确。 当一个操作依赖于另一个操作时,会产生排序限制。
- 限制为序列的特定部分的操作位于它们所属的位置。 ICE27 验证序列表的以下组织方式。 请注意,并非每个序列表都具备所有节。 请参阅使用序列表中建议的序列表。
序列表部分 | 操作序列中的范围 | 属于节的操作 |
---|---|---|
搜索 | {start} 到 CostInitialize | 用于搜索现有应用程序的操作。
AppSearch CCPSearch |
成本 | CostInitialize 到 CostFinalize action | 用于执行文件成本计费的操作。
CostInitialize FileCost CostFinalize |
选择 | CostFinalize 到 InstallValidate | 这些操作可设置文件夹或功能状态。
SetODBCFolders 操作 |
执行 | InstallValidate 到 InstallFinalize | 脚本操作,如注册、发布、安装(复制文件的位置)。 注意:当且仅当 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”操作之后。 | 所示序列表中有一个操作的顺序是在其依赖的操作之前。 更改操作的序列号,使其位于其依赖操作之后。 |