ICE38

ICE38 valida que todos los componentes que se instalan en el perfil del usuario actual también especifican una clave del Registro en la raíz HKEY_CURRENT_USER en la columna KeyPath de la tabla Componente.

Resultado

ICE38 publica un error si un componente instalado en el perfil del usuario no especifica una clave del Registro HKCU.

Ejemplo

ICE38 notifica los siguientes errores para el ejemplo mostrado.

Error ICE38 Descripción
El componente Component1 se instala en el perfil de usuario. Debe usar una clave del Registro en HKCU como su KeyPath, no un archivo. El valor de la columna de atributos de Component1 es 0, lo que significa que el componente debe usar un archivo como keyPath. Esto provoca dificultades cuando varios usuarios instalan el componente en el mismo equipo. Para corregir este error en Component1, establezca el bit RegistryKeyPath en la columna Atributos de la tabla Componente y cambie la entrada de la columna KeyPath a un valor que aparezca en la columna Registro de la tabla Registro.
El componente Component2 se instala en el perfil de usuario. Debe usar una clave del Registro en HKCU como KeyPath. El KeyPath es actualmente NULL. Component2 tiene el bit RegistryKeyPath establecido en la columna Atributos de la tabla Componente. Por lo tanto, el campo KeyPath debe contener una clave para la columna Registro de la tabla Registro, pero la columna KeyPath es Null. Para corregir este error, cambie el valor de KeyPath a una entrada válida en la tabla Registro.
El componente Component3 se instala en el perfil de usuario. Su clave del Registro KeyPath debe estar en HKCU. Component3 tiene el bit RegistryKeyPath establecido en la columna Atributos de la tabla Componente , pero la raíz de la entrada del Registro especificada en la columna Raíz de la tabla Registro especifica HKEY_LOCAL_MACHINE en lugar de HKEY_CURRENT_USER. Para corregir este error, use una entrada del Registro válida en HKEY_LOCAL_MACHINE como KeyPath para este componente o cambie el valor de la columna Raíz de la tabla Registro a -1 o 1.
La entrada del Registro KeyPath para el componente Component4 no existe. Component4 tiene el bit RegistryKeyPath establecido en la columna Atributos de la tabla Componente , pero la entrada de la columna KeyPath no existe en la tabla Registro. Para corregir este error, agregue una entrada para Reg4 a la tabla del Registro que se encuentra en HKEY_CURRENT_USER.
La entrada del Registro Reg5 se establece como KeyPath para el componente Component5, pero esa entrada del Registro no pertenece a Component5. Se encontró la entrada del Registro a la que se hace referencia en la columna KeyPath del componente y se encuentra en el árbol HKCU, pero la columna Componente_ de la entrada del Registro no hace referencia al mismo componente que lo incluyó como KeyPath. Esto significa que la entrada del Registro utilizada como KeyPath del componente solo se crearía cuando se instaló algún otro componente. Para corregir este error, cambie el valor de KeyPath para hacer referencia a una entrada del Registro que pertenezca al componente o cambie la entrada del Registro para que pertenezca al componente que lo use como KeyPath.

 

Tabla Directorio (parcial)

Directorio Directory_Parent DefaultDir
Dir1 StartMenuFolder
Dir2 DesktopFolder
Dir3 Dir3 AppData
Dir4 Dir3 SubDir

 

Tabla Componente (parcial)

Componente Directory_ Atributos KeyPath
Component1 Dir1 0 Archivo1
Component2 Dir2 4
Component3 Dir3 4 Reg3
Componente4 Dir4 4 Reg4
Componente5 Dir5 4 Reg5

 

Tabla Registry (parcial)

Registro Root Value Component_
Reg3 2 Component3
Reg5 0 Component4

 

Referencia de ICE