Compartilhar via


ICE38

O ICE38 valida que todos os componentes instalados no perfil do usuário atual também especificam uma chave do Registro na raiz HKEY_CURRENT_USER na coluna KeyPath da tabela componente .

Resultado

O ICE38 publicará um erro se um componente instalado no perfil do usuário não especificar uma chave do Registro HKCU.

Exemplo

O ICE38 relata os seguintes erros para o exemplo mostrado.

Erro ICE38 Descrição
Componente Component1 é instalado no perfil do usuário. Ele deve usar uma chave do Registro em HKCU como seu KeyPath, não um arquivo. O valor da coluna de atributos de Component1 é 0, o que significa que o componente deve usar um arquivo como seu KeyPath. Isso causa dificuldades quando vários usuários instalam o componente no mesmo computador. Para corrigir esse erro no Component1, defina o bit RegistryKeyPath na coluna Atributos da tabela componente e altere a entrada na coluna KeyPath para um valor listado na coluna Registro da tabela Registro.
Componente Componente2 é instalado no perfil do usuário. Ele deve usar uma chave do Registro em HKCU como seu KeyPath. O KeyPath atualmente é NULL. Component2 tem o bit RegistryKeyPath definido na coluna Atributos da tabela componente . Portanto, o campo KeyPath deve conter uma chave para a coluna Registro da tabela registro mas a coluna KeyPath é nula. Para corrigir esse erro, altere o valor do KeyPath para uma entrada válida na tabela registro.
Componente Component3 é instalado no perfil do usuário. Sua chave do registro KeyPath deve se enquadrar no HKCU. Component3 tem o bit RegistryKeyPath definido na coluna Atributos da tabela componente mas a raiz da entrada do Registro especificada na coluna Raiz da tabela registro especifica HKEY_LOCAL_MACHINE em vez de HKEY_CURRENT_USER. Para corrigir esse erro, use uma entrada válida do Registro em HKEY_LOCAL_MACHINE como o KeyPath para este componente ou altere o valor na coluna Raiz da tabela Registro para -1 ou 1.
A entrada do registro KeyPath para componente Component4 não existe. Component4 tem o bit RegistryKeyPath definido na coluna Atributos da tabela componente mas a entrada na coluna KeyPath não existe no da Tabela do Registro. Para corrigir esse erro, adicione uma entrada para Reg4 à tabela do Registro que está abaixo de HKEY_CURRENT_USER.
O Reg5 de Entrada do Registro é definido como o KeyPath para componente Component5, mas essa entrada do Registro não pertence ao Component5. A entrada do Registro referenciada na coluna KeyPath do componente foi encontrada e está na árvore HKCU, mas a coluna Component_ da entrada do Registro não faz referência ao mesmo componente que a listou como o KeyPath. Isso significa que a entrada do Registro usada como KeyPath do componente só seria criada quando algum outro componente fosse instalado. Para corrigir esse erro, altere o valor do KeyPath para se referir a uma entrada do Registro que pertence ao componente ou altere a entrada do Registro para pertencer ao componente usando-o como um KeyPath.

 

de Tabela de Diretório (parcial)

Diretório Directory_Parent DefaultDir
Dir1 StartMenuFolder
Dir2 DesktopFolder
Dir3 Dir3 AppData
Dir4 Dir3 SubDir

 

da Tabela de Componentes (parcial)

Componente Diretório_ Atributos KeyPath
Component1 Dir1 0 Arquivo1
Component2 Dir2 4
Componente3 Dir3 4 Reg3
Componente4 Dir4 4 Reg4
Componente5 Dir5 4 Reg5

 

de Tabela do Registro (parcial)

Registro Raiz Valor Componente_
Reg3 2 Componente3
Reg5 0 Componente4

 

de referência do ICE