ICE18
ICE18 验证用作组件关键路径的任何空目录是否在 CreateFolder 表中列出。
如果 Component 表的 KeyPath 列为 Null,则表示 Directory_ 列中列出的目录是该组件的关键路径。 由于安装程序创建的文件夹在变为空时会被删除,因此必须在 CreateFolder 表中列出此文件夹,以防止安装程序每次都尝试安装。
请勿使 SystemFolder 目录成为组件的关键路径。 由于此文件夹存在于每个操作系统上,因此安装程序始终会检测关键路径,无论组件是否存在。 在这种情况下,关键路径应是文件、注册表项或 ODBC 数据源。
执行验证时,ICE18 首先检查以下内容是否全部为真:
- Component 表的 KeyPath 列包含 Null 值。
- File 表中没有为组件列出文件。
- RemoveFile 表中没有为组件列出文件,并且 DirProperty 中的值与 Component 表的 Directory_ 列相同。
- DuplicateFile 表中没有为组件列出文件,并且 DestFolder 中的值与 Component 表的 Directory_ 列相同。
- MoveFile 表中没有为组件列出文件,并且 DestFolder 中的值与 Component 表的 Directory_ 列相同。
如果这些全部为真,则 ICE18 将验证以下内容:
- CreateFolder 表的 Component_ 列与 Component 表的 Component 列具有相同的值。
- CreateFolder 表的 Directory_ 列与 Component 表的 Directory_ 列具有相同的值。
如果安装包将目录指定为 CreateFolder 表中未列出的组件的关键路径,ICE18 将发布错误消息。