ICE92

ICE92 comprueba que un componente sin un GUID de identificador de componente no esté especificado también como un componente permanente. Esta acción personalizada ICE comprueba la tabla Componente en busca de componentes sin un GUID especificado en el campo ComponentId y comprueba que la marca msidbComponentAttributesPermanent no se ha establecido en el campo Atributos. ICE92 también comprueba que ningún componente tenga los atributos msidbComponentAttributesPermanent y msidbComponentAttributesUninstallOnSupersedence.

Si esta columna ComponentId es null, el instalador no registrará el componente ni podrá eliminarlo ni repararlo.

Resultado

ICE92 publica los siguientes errores.

Error ICE92 Descripción
El componente '[1]' no tiene ComponentId y se marca como permanente. La entrada de este componente en la tabla Componente tiene null en la columna ComponentId y tiene msidbComponentAttributesPermanent en la columna Atributos.

 

ICE92 publica la siguiente advertencia.

Advertencia ICE92 Descripción
El componente '[1]' se marca como permanente y desinstalable en caso de sustitución. El atributo desinstalable en caso de sustitución se omitirá porque el componente es permanente. La entrada de este componente en la tabla Componente tiene los atributos msidbComponentAttributesPermanent y msidbComponentAttributesUninstallOnSupersedence especificados.

 

Ejemplo

ICE92 comunica el siguiente error en el ejemplo:

The Component 'Component1' has no ComponentId and is marked as permanent.

Tabla Componente (parcial)

Componente ComponentId Directory_ Atributos KeyPath
Component1   DirectoryA 16 FileA

 

Referencia de ICE