ICE38
O ICE38 valida que cada componente que está sendo instalado no perfil do usuário atual também especifica uma chave do registro na raiz HKEY_CURRENT_USER na coluna KeyPath da tabela Component.
Result
O ICE38 postará um erro se um componente instalado no perfil do usuário não especificar uma chave do registro HKCU.
Exemplo
Para o exemplo mostrado, o ICE38 relata os erros a seguir.
Erro ICE38 | Descrição |
---|---|
O componente Component1 foi instalado no perfil do usuário. Ele precisa usar uma chave do registro em HKCU como o 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 o KeyPath. Isso causa dificuldades quando vários usuários instalam o componente no mesmo computador. Para corrigir esse erro em Component1, defina o bit RegistryKeyPath na coluna Attributes da tabela Component e altere a entrada na coluna KeyPath para um valor listado na coluna Registry da tabela Registry. |
O componente Component2 foi instalado no perfil do usuário. Ele precisa usar uma chave do registro em HKCU como o KeyPath. O KeyPath é atualmente NULL. | O Component2 tem o bit RegistryKeyPath definido na coluna Attributes da tabela Component. Portanto, o campo KeyPath deve conter uma chave para a coluna Registry da Tabela Registry, mas a coluna KeyPath é Null. Para corrigir esse erro, altere o valor de KeyPath para uma entrada válida na tabela Registry. |
O componente Component3 foi instalado no perfil do usuário. A chave do Registro KeyPath precisa se enquadrar em HKCU. | O Component3 tem o bit RegistryKeyPath definido na coluna Attributes da tabela Component, mas a raiz da entrada do registro especificada na coluna Root da tabela Registry 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 esse componente ou altere o valor na coluna Root da tabela Registry 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 Attributes da tabela Component, mas a entrada na coluna KeyPath não existe na Tabela Registry. Para corrigir esse erro, adicione uma entrada para Reg4 à tabela Registry que está em HKEY_CURRENT_USER. |
O Reg5 da entrada do Registro é definido 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 está abaixo da árvore HKCU, mas a coluna Component_ da entrada do registro não referencia o mesmo componente que a listou como o KeyPath. Isso significa que a entrada do Registro usada como KeyPath do componente só será criada quando algum outro componente for instalado. Para corrigir esse erro, altere o valor de KeyPath para que ele se refira a uma entrada do registro que pertença ao componente ou altere a entrada do registro para pertencer ao componente usando-o como um KeyPath. |
Tabela Directory (parcial)
Diretório | Directory_Parent | DefaultDir |
---|---|---|
Dir1 | StartMenuFolder | |
Dir2 | DesktopFolder | |
Dir3 | Dir3 | AppData |
Dir4 | Dir3 | SubDir |
Tabela Component (parcial)
Componente | Directory_ | Atributos | KeyPath |
---|---|---|---|
Component1 | Dir1 | 0 | Arquivo1 |
Component2 | Dir2 | 4 | |
Component3 | Dir3 | 4 | Reg3 |
Component4 | Dir4 | 4 | Reg4 |
Component5 | Dir5 | 4 | Reg5 |
Tabela Registry (parcial)
Registro | Root | Valor | Component_ |
---|---|---|---|
Reg3 | 2 | Component3 | |
Reg5 | 0 | Component4 |
Tópicos relacionados