Partilhar via


ICE38

ICE38 valida que cada componente que está sendo instalado sob o perfil do usuário atual também especifica uma chave do Registro sob a raiz HKEY_CURRENT_USER na coluna KeyPath da tabela Component.

Resultado

ICE38 posta um erro se um componente instalado sob o perfil do usuário não especificar uma chave de registro HKCU.

Exemplo

O ICE38 relata os seguintes erros para a amostra mostrada.

Erro ICE38 Descrição
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.
O componente Component2 é 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 . O campo KeyPath deve, portanto, conter uma chave para a coluna Registro da Tabela do Registro mas a coluna KeyPath é Nulo. Para corrigir esse erro, altere o valor KeyPath para uma entrada válida na tabela do Registro.
O componente Component3 é instalado no perfil do usuário. É KeyPath chave de registro deve cair sob HKCU. O 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 de registro válida 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 o componente Component4 não existe. O Component4 tem o bit RegistryKeyPath definido na coluna Atributos da tabela Componente mas a entrada na coluna KeyPath não existe na Tabela do Registro . Para corrigir esse erro, adicione uma entrada para Reg4 à tabela do Registro que é um em HKEY_CURRENT_USER.
A entrada do Registro Reg5 é definida como o KeyPath para o 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 fica sob a árvore HKCU, mas a coluna Component_ da entrada do Registro não se refere ao mesmo componente que o listou como 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 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.

 

Directory Table (parcial)

Diretório Directory_Parent DefaultDir
Dir1 StartMenuFolder
Dir2 Pasta da área de trabalho
Dir3 Dir3 AppData
Dir4 Dir3 SubDir

 

Tabela de componentes (parcial)

Componente Directory_ Atributos Caminho-chave
Componente1 Dir1 0 Ficheiro1
Componente2 Dir2 4
Componente3 Dir3 4 Reg3
Componente4 Dir4 4 Reg4
Componente5 Dir5 4 Reg5

 

Tabela de Registo (parcial)

Registo Raiz Valor Component_
Reg3 2 Componente3
Reg5 0 Componente4

 

de referência ICE