ICE92

ICE92 comprueba que un componente sin un GUID de identificador de componente no se especifica también como componente permanente. Esta acción personalizada de ICE comprueba los componentes de la tabla 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 tiene los atributos msidbComponentAttributesPermanent y msidbComponentAttributesUninstallOnSupersedence.

Si la columna ComponentId es NULL, el instalador no registra el componente y el instalador no puede quitarlo ni repararlo.

Resultado

ICE92 publica el siguiente error.

Error ice92 Descripción
El componente ' [ 1 ] ' no tiene componentId y está marcado como permanente. La entrada de este componente en la tabla Component tiene null en la columna ComponentId y tiene msidbComponentAttributesPermanent en la columna Attributes.

ICE92 publica la advertencia siguiente.

Advertencia de ICE92 Descripción
El componente ' [ 1 ] ' está marcado como permanente y desinstalación tras sustitución. El atributo uninstall-on-supersedence se omitirá porque el componente es permanente. La entrada de este componente en la tabla Component tiene los atributos msidbComponentAttributesPermanent y msidbComponentAttributesUninstallOnSupersedence especificados.

Ejemplo

ICE92 notifica el siguiente error para el ejemplo:

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

Tabla de componentes (parcial)

Componente Componentid Directorio_ Atributos KeyPath
Componente1 DirectorioA 16 ArchivoA

Referencia de ICE