Avaliadores de consistência interna – 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, eles verificam o banco de dados em busca de entradas em registros de banco de dados que sejam válidas quando examinadas individualmente, mas, que possam causar um comportamento incorreto no contexto de todo o banco de dados. Observe que isso é diferente da validação feita em registros individuais utilizando MsiViewModify.

Por exemplo, a tabela de Componentes poderá listar vários componentes que serão todos válidos quando testados individualmente com MsiViewModify. No entanto, o MsiViewModify não detectará o erro quando dois componentes usarem o mesmo GUID que o código de componente. A ação personalizada ICE08 foi desenvolvida para validar se a tabela de Componentes não conterá GUIDs de código de componentes duplicados.

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

  • Erros As mensagens de erro relatam a criação do banco de dados que causa um comportamento incorreto. Por exemplo, os GUIDs de componentes duplicados fazem com que o instalador registre componentes incorretamente.
  • Avisos As 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 de banco de dados. Por exemplo, inserir o mesmo nome de propriedade em duas condições que diferem apenas por maiúsculas e minúsculas do nome. Como o instalador diferencia maiúsculas de minúsculas, o instalador tratará como propriedades diferentes.
  • Falhas As mensagens de falha relatam a falha da ação personalizada de ICE. A falha geralmente é causada por um banco de dados com problemas graves que impedem o ICE de executar.
  • Informativo As mensagens informativas fornecem informações de ICE e não indicam um problema com o banco de dados. Frequentemente são informações sobre o próprio ICE, como uma breve descrição. Também podem fornecer informações de progresso à medida que o ICE executa.

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