Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

ICE35

ICE35 validates that components containing compressed files stored in a cabinet file are not set to run from source. With Windows Installer 2.0 or later, this restriction has been removed.

ICE35 queries the Cabinet column of the Media table to determine which files are compressed and stored in a cabinet file. It queries the File table to determine which components contain these files. Finally, it checks the Component table to determine whether the run-from-source bits are set in the Attributes column.

Result

ICE35 posts an error message if there is a compressed file stored in a cabinet file belonging to a component with the msidbComponentAttributesSourceOnly bit set in the Attributes column of the Component table. With Windows Installer 2.0 or later, this is changed from an error to a warning message. A package that supports only Windows Installer 2.0 and later has the PID_PAGECOUNT property of the Summary Information Stream set to a value of at least 200.

ICE35 posts warning message if there is a compressed file stored in a cabinet file belonging to a component with the msidbComponentAttributesOptional bit set in the Attributes column of the Component table. This warning message has been removed with Windows Installer 2.0 and later.

If multiple files in a component are in a cabinet file, ICE35 reports errors for each file that has the run from source bit set.

Example

ICE35 reports the following errors and warnings for the example shown using a version earlier than Windows Installer version 2.0.

ICE35 ErrorDescription
ERROR: Component Component3 cannot be Run From Source only, because its member file 'File3' is compressed.There is a compressed file stored in a cabinet file and this file belongs to a component with the SourceOnly bit set in the Attributes column of the Component table.

To fix this error change the lower 2 bits of Component2's Attributes value to "00", meaning Local only, or remove File4 from the CAB file.

ERROR: Component Component3 cannot be Run From Source only, because its member file 'File3' is compressed.There is a compressed file stored in a cabinet file and this file belongs to a component with the SourceOnly bit set in the Attributes column of the Component table.

Because the files in a component do not all have to originate from the same media, ICE35 reports errors for each file in the component that is in a cabinet.

To fix this error change the lower 2 bits of Component2's Attributes value to "00", meaning Local only, or remove File4 from the CAB file.

 

Media Table (partial)

DiskIDLastSequenceCabinet
12 
24One.cab
35#Two.cab

 

File Table (partial)

FileComponent_Sequence
File1Component11
File2Component22
File3Component23
File4Component34
File5Component35

 

Component Table (partial)

ComponentAttributes
Component10
Component22
Component31

 

Shortcut Table (partial)

ShortcutIcon_
Shortcut1Icon2

 

Note that files can also be marked as compressed using the Word Count Summary Property of the Summary Information stream.

Related topics

ICE Reference

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.