ICE56

ICE56 验证 .msi 文件的目录结构是否具有单个根目录,根目录是否为 TARGETDIR 属性,以及 SourceDir 属性值是否位于 Directory 表的 DefaultDir 列中。

如果 .msi 文件具有多个根或指定了 TARGETDIR 以外的根目录,则管理安装不会创建正确的管理映像。

请注意,ICE56 不会检查空目录。 如果额外的目录为空,则目录结构会通过多个根目录的验证。

结果

如果 .msi 没有单个根目录 TARGETDIR,或者未在 Directory 表的 DefaultDir 列中指定 SourceDir,则 ICE56 会发布错误。

示例

ICE56 会为所示示例报告以下错误。

Directory 'TARGETDIR' has a bad DefaultDir value. 
Directory 'Root2' is an invalid root Directory.

Directory 表

目录 Directory_Parent DefaultDir
TARGETDIR Temp
Root2 Root2 SourceDir

 

若要修复第一个错误,TARGETDIR 根的 DefaultDir 值应为 SourceDir。 也接受 SOURCEDIR。 可以将 TARGETDIR 设置为第二个根的父级,并使用 DefaultDir 列中的“.”值。 有关详细信息,请参阅 Directory 表

若要修复第二个错误,目录结构应只有一个名为 TARGETDIR 的根。

ICE 参考