Compartilhar via


Avaliadores internos de consistência – ICEs

Os avaliadores de consistência interna, também chamados de ICEs, são ações personalizadas escritas em VBScript, JScript ou como uma DLL ou EXE. Quando essas ações personalizadas são executadas, elas verificam o banco de dados em busca de entradas em registros de banco de dados que são válidas quando examinadas individualmente, mas que podem causar comportamento incorreto no contexto de todo o banco de dados. Observe que isso é diferente da validação feita em registros individuais usando msiViewModify.

Por exemplo, a tabela Component pode listar vários componentes que são todos válidos quando testados individualmente com MsiViewModify. No entanto, o MsiViewModify não detectaria o erro quando dois componentes usam o mesmo guid que o código do componente. A ação personalizada ICE08 foi projetada para validar que a tabela Componente não contém GUIDs de código de componente duplicados.

As ações personalizadas do ICE retornam quatro tipos de mensagens:

  • Erros Mensagens de erro relatam a criação do banco de dados que causa comportamento incorreto. Por exemplo, GUIDs de componente duplicados fazem com que o instalador registre componentes incorretamente.
  • Avisos Mensagens de aviso relatam a criação do banco de dados que causa comportamento incorreto em determinados casos. Os avisos também podem relatar efeitos colaterais inesperados da criação do banco de dados. Por exemplo, inserir o mesmo nome de propriedade em duas condições que diferem apenas pelo caso de letras no nome. Como o instalador diferencia maiúsculas de minúsculas, o instalador os trata como propriedades diferentes.
  • falhas mensagens de falha relatam a falha da ação personalizada ice. A falha geralmente é causada por um banco de dados com problemas tão graves que o ICE não pode sequer executar.
  • mensagens informativas informativas fornecem informações do ICE e não indicam um problema com o banco de dados. Muitas vezes são informações sobre o próprio ICE, como uma breve descrição. Eles também podem fornecer informações de progresso à medida que o ICE é executado.

Para obter mais informações, consulte Usando avaliadores de consistência interna.