ICE35

ICE35 验证包含存储在 内阁文件中的压缩文件的组件 未设置为从源运行。 使用 Windows Installer 2.0 或更高版本时,此限制已被删除。

ICE35 查询 媒体表的“内阁”列 以确定哪些文件经过压缩并存储在内阁文件中。 它查询 文件表 以确定哪些组件包含这些文件。 最后,它会检查 组件表,以确定从源运行的位是否在“属性”列中设置。

结果

ICE35 在 组件表的属性列中设置了 msidbComponentAttributesSourceOnly 位的组件中的压缩文件,则 ICE35 会发布错误消息。 使用 Windows Installer 2.0 或更高版本,这已从错误更改为警告消息。 仅支持 Windows Installer 2.0 及更高版本的包将摘要信息流PID_PAGECOUNT属性设置为至少 200 的值。

ICE35 在 组件表的属性列中设置了 msidbComponentAttributesOptional 位的组件中的压缩文件,则发布警告消息。 Windows Installer 2.0 及更高版本已删除此警告消息。

如果组件中的多个文件位于内阁文件中,ICE35 会报告每个从源位集运行的文件的错误。

ICE35 报告了使用低于 Windows Installer 版本 2.0 的版本显示的示例的以下错误和警告。

ICE35 错误 描述
错误:组件组件 3 不能仅从源运行,因为它的成员文件“File3”已压缩。 有一个压缩文件存储在内阁文件中,此文件属于在 组件表的属性列中设置 SourceOnly 位的组件。 若要修复此错误,请将 Component2 属性值的较低 2 位更改为“00”,这意味着仅本地,或从 CAB 文件中删除 File4。
错误:组件组件 3 不能仅从源运行,因为它的成员文件“File3”已压缩。 有一个压缩文件存储在内阁文件中,此文件属于在 组件表的属性列中设置 SourceOnly 位的组件。 由于组件中的文件不必全部源自同一媒体,ICE35 报告组件中每个文件在内阁中的错误。
若要修复此错误,请将 Component2 属性值的较低 2 位更改为“00”,这意味着仅本地,或从 CAB 文件中删除 File4。

 

媒体表(部分)

DiskID LastSequence 内阁
1 2  
2 4 One.cab
3 5 #Two.cab

 

文件表(部分)

文件 元件_ 序列
File1 Component1 1
File2 Component2 2
File3 Component2 3
File4 Component3 4
File5 Component3 5

 

组件表(部分)

元件 属性
Component1 0
Component2 2
Component3 1

 

快捷表(部分)

捷径 图标_
Shortcut1 Icon2

 

请注意,也可以使用 摘要信息流的 字数摘要 属性将文件标记为压缩。

ICE 参考