ICE30
ICE30 验证包含同一文件的组件的安装永远不会在同一目录中多次安装该文件。
ICE30 转到 组件表中的每个组件,然后从 Directory 表确定组件的目标目录。 然后,它会检查安装到同一目标目录中的哪些组件。 最后,它使用 文件表 来验证这些组件中没有任何文件具有相同的名称。
ICE30 检查长文件名(LFN)和短文件名(SFN)。
ICE30 不会评估目录解析中的属性,因为这些属性可以在运行时更改并更改目录解析方案。 这意味着 ICE30 可能会由于路径中具有相同属性的目录而检测文件冲突,但不会检测到两个具有相同值的属性导致的冲突。
结果
ICE30 会针对将同一文件安装到同一目录的每个组件对发布错误消息。
例
显示的示例返回以下每个错误两次。
ICE30 错误或警告 | 描述 |
---|---|
错误:目标文件“README.1st”安装在 SFN 系统上的两个不同的组件“TARGETDIR\PRODUCT”中:“Component1”和“Component2”。 这会中断组件引用计数。 | Component1 和 Component2 都具有名为“READEME.1st”的文件。 使用短文件名时,安装程序会将 Dir1 和 Dir2 安装到同一目录 TARGETDIR\PRODUCT。 ICE30 为每个文件生成两个错误,一个错误。 在显示错误位置的创作环境中,第一个错误位于 文件表中的一个文件的条目,另一个位于另一个文件的位置。 |
错误:安装有条件化组件将导致目标文件“README.1st”安装在 LFN 系统上的两个不同的组件“TARGETDIR\COMMON TOOLS”中:“Component3”和“Component4”。 这会中断组件引用计数。 | Component4 在 组件表的“条件”列中有一个条目, 和 Component3 没有。 如果 VersionNT 为 True,则安装 Component4,并且与 Component3 始终安装自述文件.1 发生冲突。 ICE30 生成 4 个错误,一对用于 SFN,一对用于 LFN。 |
警告:目标文件“README.1st”可能由 SFN 系统上的两个不同的有条件化组件安装在“TARGETDIR\COMMON TOOLS”中:“Component4”和“Component5”。 如果条件不相互排斥,这将中断组件引用计数系统。 | 由于 Component4 和 Component5 在 组件表的“条件”列中都有条目,因此 此文件冲突可能不会发生。 ICE30 仅发布警告,因为必须在安装时确定条件。 ICE30 生成 4 个警告,一对用于 SFN,一对用于 LFN。 |
组件表(部分)
元件 | 目录 | 条件 |
---|---|---|
Component1 | Dir1 | |
Component2 | Dir2 | |
Component3 | Dir3 | |
Component4 | Dir3 | VersionNT |
Component5 | Dir3 | Version9X |
目录 | Parent_Directory | DefaultDir |
---|---|---|
SOURCEDIR | TARGETDIR | |
Dir1 | SOURCEDIR | 产品 |Component1 Product:. |
Dir2 | SOURCEDIR | 产品:。 |
Dir3 | SOURCEDIR | 通用 |常用工具: |
文件表(部分)
文件 | 元件_ | 文件名 |
---|---|---|
File1 | Component1 | README.1st |
File2 | Component2 | README.1st |
File3 | Component3 | README.1st |
File4 | Component4 | README.1st |
File5 | Component5 | README.1st |
相关主题