Partilhar via


ICE92

O ICE92 verifica se um componente sem um GUID de ID do Componente também não é especificado como um componente permanente. Essa ação personalizada ICE verifica na Tabela Component se há componentes sem um GUID especificado no campo ComponentId e verifica se o sinalizador msidbComponentAttributesPermanent não foi definido no campo Attributes. 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.

Result

O ICE92 posta 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 Component tem nulo na coluna ComponentId e tem msidbComponentAttributesPermanent na coluna Attributes.

 

O ICE92 posta o aviso a seguir.

Aviso ICE92 Descrição
O componente '[1]' é marcado como "permanente" e "desinstalar na substituição". O atributo "desinstalar na substituição" será ignorado porque o componente é permanente. A entrada desse componente na tabela Component 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.

Tabela Component (parcial)

Componente ComponentId Directory_ Atributos KeyPath
Component1   DirectoryA 16 FileA

 

Referência do ICE