ICE43

O ICE43 valida que os atalhos que não fazem referência a um recurso como destino (atalhos não anunciados) estão em componentes que têm uma entrada de registro HKCU como caminho de chave.

Resultado

O ICE43 postará uma mensagem de erro se um atalho não anunciado estiver em um componente que não tenha uma entrada de registro HKCU como seu caminho de chave.

Exemplo

O ICE43 relataria os seguintes erros para o exemplo mostrado.

Erro ICE43 Descrição
Component Component1 tem atalhos não anunciados. Ele deve usar uma chave do Registro em HKCU como seu KeyPath, não um arquivo. A coluna de atributos do Component1 é 0, o que significa que o componente usa um arquivo como seu KeyPath. Isso faz com que atalhos não anunciados neste componente sejam instalados para o primeiro usuário somente no computador. Os usuários que instalam o componente posteriormente não veem os atalhos porque o componente aparece no instalador como já existente no computador. Para corrigir esse erro, defina o bit RegistryKeyPath dos atributos para alternar o componente para uma entrada do Registro e altere o valor keypath para uma entrada válida na tabela registro.
Componente Component2 tem atalhos não anunciados. Ele deve usar uma chave do Registro em HKCU como seu KeyPath. O KeyPath é atualmente nulo. A coluna Atributos está definida para usar o registro, mas o KeyPath é nulo. O KeyPath deve se referir a uma entrada na Tabela do Registro. Para corrigir esse erro, altere o valor do KeyPath para uma entrada válida na tabela registro.
Componente Component3 tem atalhos não anunciados. Sua chave do registro KeyPath deve se enquadrar no HKCU. A coluna Atributos está definida para usar o registro, mas a entrada do Registro referenciada não está em HKCU. Para corrigir esse erro, alterne para uma entrada de registro diferente como o KeyPath para este componente ou altere o valor raiz da entrada do Registro para -1 ou 1.
A entrada do registro KeyPath para componente Component4 não existe. A entrada do Registro referenciada na coluna KeyPath do componente não está na Tabela do Registro. Para corrigir esse erro, crie uma entrada.
O Reg5 de Entrada do Registro é definido como o KeyPath para componente Component5, mas essa entrada do Registro não pertence ao Component5. Há uma entrada do Registro referenciada na coluna KeyPath do componente que 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ó será criada se algum outro componente tiver sido instalado. Para corrigir esse erro, altere o valor do KeyPath para fazer referência a uma entrada do Registro que pertence ao componente ou altere a entrada do Registro para pertencer ao componente usando-o como um KeyPath.

 

Tabela de componentes (parcial)

Componente Atributos KeyPath
Component1 0 Arquivo1
Component2 4  
Component3 4 Reg3
Component4 4 Reg4
Component5 4 Reg5

 

Tabela do Registro (parcial)

Registro Root Valor Component_
Reg3 2 Component3
Reg5 0 Component4

 

Referência ice