Usar a automação para mesclar um módulo de mesclagem em um banco de dados
Os Módulos de Mesclagem fornecem um método padrão para você entregar componentes compartilhados do Windows Installer e a lógica de instalação para aplicativos.
Os módulos de mesclagem devem ser mesclados em um pacote de instalação usando uma ferramenta de mesclagem. A melhor prática é obter uma ferramenta de mesclagem distribuída livremente ou comprar uma das ferramentas de mesclagem disponíveis de fornecedores de software independentes, por exemplo, use o Mergemod.dll.
O procedimento a seguir mostra como mesclar um módulo de mesclagem em um banco de dados do Windows Installer usando a Automação de Módulo de Mesclagem.
Para mesclar um módulo em um banco de dados
Abra um arquivo de log usando o método OpenLog.
Essa etapa é necessária somente caso precise criar um arquivo de log ou acrescentar um arquivo de log existente para o processo de mesclagem.
Abra o banco de dados de instalação .msi usando o método OpenDatabase do Objeto de Mesclagem.
Essa etapa é necessária.
O banco de dados que você abre é aquele que deseja receber o módulo de mesclagem.
Abra o módulo de mesclagem .msm usando o método OpenModule.
Essa etapa é necessária.
Esse é o módulo de mesclagem que está sendo mesclado no banco de dados. Um módulo deve ser aberto antes de ser mesclado com um banco de dados de instalação.
Mescle o módulo no banco de dados de instalação chamando o método Mesclar ou o método MesclarEx .
Essa etapa é necessária.
O método Mesclar ou o método MesclarEx só pode ser chamado uma vez para mesclar uma combinação específica de arquivos .msi e .msm.
Observação
O método MesclarEx só está disponível emMergemod.dll versão 2.0 ou posterior e ao usar a interface de IMsmMerge2 somente.
Recupere a propriedade Erros e examine a coleção de objetos Erro que ela retorna para conflitos de mesclagem ou outros erros.
Resolva todos os erros.
A recuperação não é destrutiva e várias instâncias da coleção de erros podem ser recuperadas lendo repetidamente a propriedade Erros .
Associe os componentes do módulo de mesclagem aos recursos usando o método Conectar.
Essa etapa só será necessária caso tenha recursos existentes e queira adicionar recursos para mesclar no banco de dados de instalação.
Um recurso deve existir antes de chamar esse método. Para obter mais informações, consulte Conectar um módulo de mesclagem a vários recursos.
Caso necessário, extraia arquivos de origem do módulo realizando um ou mais dos seguintes procedimentos:
Use o ExtractFiles ou o ExtractFilesEx para extrair arquivos de um arquivo .cab inserido e copiar em um diretório especificado.
Observação
O ExtractFilesEx necessita da versão 2.0 de Mergemod.dll ou posterior.
Use o ExtractCAB para extrair arquivos de um arquivo .cab inserido e salvar em um arquivo especificado.
Use o CreateSourceImage para extrair arquivos de um módulo e, depois da mesclagem, copie para uma imagem de origem no disco.
Observação
O CreateSourceImage está disponível apenas em Mergemod.dll versão 2.0 ou posterior.
Feche o módulo de mesclagem aberto atual usando o método CloseModule.
Essa etapa é necessária.
Feche o banco de dados de instalação aberto usando o método CloseDatabase.
Essa etapa é necessária.
Fechar um banco de dados limpa todas as informações de dependência, mas não afeta os erros erro que não seja recuperado.
Feche o arquivo de log atual usando o método CloseLog.
Essa etapa será necessária caso tenha aberto um arquivo de log.
Depois que o módulo for mesclado no banco de dados usando Mergemod.dll, a Tabela de Mídias deve ser atualizada para descrever o layout de imagem de origem desejado. O processo de mesclagem fornecido pelo Mergemod.dll não atualiza a Tabela de Mídias porque o consumidor do módulo de mesclagem pode selecionar várias maneiras de apresentar a imagem de origem.
Tópicos relacionados