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 |
请注意,也可以使用 摘要信息流的 字数摘要 属性将文件标记为压缩。
相关主题