Partilhar via


Usando avaliadores de consistência interna

Para validar um banco de dados, use uma ferramenta de validação especial para mesclar um arquivo .cub contendo os de Avaliadores de Consistência Interna (ICEs) em seu banco de dados, execute os ICEs e relate os resultados. Várias dessas ferramentas são fornecidas no Microsoft Windows Software Development Kit (SDK). Os ambientes de criação de fornecedores terceirizados também podem incorporar o sistema de validação ICE em seu ambiente de criação. Também é possível escrever sua própria ferramenta para realizar a validação ICE. A maioria das ferramentas de validação ICE mescla o arquivo .cub e seu banco de dados em um terceiro banco de dados temporário. O Windows Installer exibe avisos, erros, informações de depuração e erros de API à medida que executa cada ICE no arquivo .cub. Quando o instalador termina de executar os ICEs, ele fecha o arquivo .msi, o arquivo .cub e o banco de dados temporário sem salvar as alterações. O arquivo .msi e o arquivo .cub permanecem inalterados pelo teste de validação.

As ações personalizadas da ICE se comunicam com o usuário chamando MsiProcessMessage e postando uma mensagem INSTALLMESSAGE_USER. Uma mensagem ICE geralmente retorna informações como as seguintes:

  • Nome do ICE que encontrou um erro
  • Data de criação do ICE
  • Autor do ICE
  • Data em que o ICE foi modificado pela última vez.
  • Descrição do erro da API que causa a falha do ICE
  • Descrição do erro
  • Um aviso ao utilizador
  • Nome da tabela do banco de dados que contém o erro ou aviso
  • Nome da coluna da tabela que contém o erro ou aviso
  • Chaves primárias da tabela que contém o erro ou aviso
  • Um URL para um arquivo HTML com sugestões de depuração
  • Uma cadeia de caracteres que pode conter outras informações

Os autores de pacotes de instalação podem escrever ações personalizadas ICE ou usar o conjunto padrão de ICEs incluído nos arquivos .cub fornecidos com o SDK. Para obter mais informações sobre como escrever um ICE, consulte Building an ICE.

Depois de escrever os ICEs apropriados para validação, um desenvolvedor deve coletar as ações personalizadas juntas em um banco de dados .msi, chamado de arquivo .cub, que contém apenas os ICEs e suas tabelas necessárias. Um arquivo .cub não pode ser instalado e é usado apenas para armazenar e fornecer acesso a ações personalizadas ICE. Para obter mais informações sobre como criar arquivos .cub, consulte Criando um banco de dados ICE. Como alternativa, os desenvolvedores podem validar seu pacote de instalação usando os ICEs existentes descritos em ICE Reference. Esses ICEs podem ser obtidos de arquivos .cub padrão fornecidos com o SDK.

A instalação do editor de tabelas de banco de dados Orca ou da ferramenta de validação msival2 fornece os arquivos Logo.cub, Darice.cub e Mergemod.cub. O conjunto de ICEs no arquivo Logo.cub é um subconjunto daqueles no arquivo Darice.cub. Se o seu pacote passar na validação usando o Darice.cub, ele passará com o Logo.cub. Mergemod.cub contém um conjunto de ICEs usados para validar módulos de mesclagem. Para obter mais informações, consulte Merge Module ICE Reference.

Para validar um pacote de instalação

  1. Obtenha ou crie as ações personalizadas ICE apropriadas. Talvez seja possível usar um ou mais dos ICEs existentes descritos no ICE Reference. Se a sua validação exigir um ICE que ainda não esteja nesta lista, você poderá criar um novo ICE conforme descrito em Building an ICE.
  2. Prepare um banco de dados ICE contendo todas as ações personalizadas ICE. Consulte a seção Criando um banco de dados ICE para obter informações sobre como preparar um arquivo .cub.
  3. Forneça o arquivo .cub e o arquivo .msi a uma ferramenta de validação de pacote, como Orca.exe ou Msival2.exe.

Observe que os módulos de mesclagem devem ser validados conforme descrito em Validando módulos de mesclagem.