ICE02
ICE02 valida que determinadas referencias entre las tablas Component, File y Registry son recíprocas. Estas referencias deben ser recíprocas para que el instalador determine correctamente el estado de instalación de los componentes.
El instalador usa la columna KeyPath de la tabla Component para detectar la presencia del componente que se indica en la columna Component. La columna KeyPath contiene una clave para las tablas Registry o File. Estas dos tablas tienen una columna Component_ que contiene una clave para la tabla Component que apunta al componente que controla la entrada del Registro o el archivo. Estas referencias deben ser recíprocas.
ICE02 muestra un mensaje de error si encuentra una referencia que debe ser recíproca y no lo es.
ICE02 muestra el siguiente mensaje de error para un archivo .msi que contiene las entradas de la base de datos que se indican.
File: 'Red_File' cannot be the key file for Component: 'Blue'. The file belongs to Component: 'Red'
Tabla Component (parcial)
Componente | KeyPath |
---|---|
Rojo | Red_File |
Azul | Red_File |
Tabla File (parcial)
Columna File | Component_ |
---|---|
Red_File | Rojo |
Blue_File | Azul |
El componente Blue hace referencia a Red_File, pero Red_File no está controlado por el componente Blue y, por tanto, no puede ser el archivo KeyPath. Si se llamara al instalador para obtener el estado de instalación de Blue, comprobaría incorrectamente si se ha instalado Red_File. Cambiando el campo KeyPath para Blue en la tabla Component a Blue_File se corrige el error.