Compartilhar via


ICE92

O ICE92 verifica se um componente sem um GUID de ID de Componente também não é especificado como um componente permanente. Essa ação personalizada ice verifica o da Tabela de Componentes para componentes sem um guid especificado no campo ComponentId e verifica se o sinalizador msidbComponentAttributesPermanent não foi definido no campo Atributos. O ICE92 também verifica se nenhum componente tem os atributos msidbComponentAttributesPermanent e msidbComponentAttributesUninstallOnSupersedence.

Se a coluna ComponentId for nula, o instalador não registrará o componente e o componente não poderá ser removido ou reparado pelo instalador.

Resultado

O ICE92 publica o erro a seguir.

Erro ICE92 Descrição
O componente '[1]' não tem ComponentId e está marcado como permanente. A entrada desse componente na tabela Componente tem nulo na coluna ComponentId e tem msidbComponentAttributesPermanent na coluna Atributos.

 

O ICE92 publica o aviso a seguir.

Aviso ICE92 Descrição
O componente '[1]' é marcado como permanente e desinstalação sobresedência. O atributo de desinstalação na substituição será ignorado porque o componente é permanente. A entrada desse componente na tabela componente tem os atributos msidbComponentAttributesPermanent e msidbComponentAttributesUninstallOnSupersedence especificados.

 

Exemplo

O ICE92 relata o seguinte erro para o exemplo:

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

da Tabela de Componentes (parcial)

Componente ComponentId Diretório_ Atributos KeyPath
Component1   DirectoryA 16 FileA

 

de referência do ICE