Export (0) Print
Expand All
3 out of 3 rated this helpful - Rate this topic

ICE02

ICE02 validates that certain references between the Component, File, and Registry tables are reciprocal. These references must to be reciprocal for the installer to correctly determine the installation state of components.

The installer uses the KeyPath column of the Component table to detect the presence of the component listed in the Component column. The KeyPath column contains a key into the Registry or File tables. Both of these tables have a Component_ column that contains a key back into the Component table pointing to the component that controls the registry entry or file. These references must be reciprocal.

Result

ICE02 posts an error message if it finds a reference that should be reciprocal and is not.

Example

ICE02 would post the following error message for a .msi file containing the database entries shown.

File: 'Red_File' cannot be the key file for Component: 'Blue'. The file belongs to Component: 'Red'

Component Table (partial)

ComponentKeyPath
RedRed_File
BlueRed_File

 

File Table (partial)

File ColumnComponent_
Red_FileRed
Blue_FileBlue

 

Component Blue references Red_File, but Red_File is not controlled by Component Blue and therefore cannot be the KeyPath file. If the installer were called to get the installation state of Blue it would incorrectly check whether Red_File was installed. Changing the KeyPath field for Blue in the Component Table to Blue_File fixes the error.

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.