Como criar um pacote .msi aninhados

Traduções de Artigos Traduções de Artigos
Artigo: 306439 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

Uma acção de instalação aninhadas instala outro pacote do Windows Installer durante uma instalação actualmente em execução. Este artigo mostra como criar um pacote que executa uma instalação aninhada.

Mais Informação

Pode adicionar uma instalação aninhada a um pacote de criação de uma acção de instalação aninhada na tabela CustomAction e agendar esta acção personalizada para as tabelas de sequência. A caixa de destino da tabela CustomAction contém uma cadeia de definições de propriedade pública utilizadas pela instalação aninhada. A caixa de origem da tabela CustomAction identifica o pacote aninhado. Uma acção de instalação aninhadas apenas pode reinstalar ou remover uma aplicação que tenha sido instalada pelo pacote de instalação da aplicação actual.

O tipo de acção da instalação aninhada é especificado na caixa tipo da tabela CustomAction . Dependendo do tipo de acção personalizada, o pacote para a aplicação aninhado pode residir em "substorage" do pacote principal, como um ficheiro num local especificado por uma propriedade ou como uma aplicação anunciada no computador do utilizador.
Reduzir esta tabelaExpandir esta tabela
Tipo de acção personalizadaDescrição
Tipo de acção personalizada 7Aninhadas instalação de um produto residentes no pacote de instalação.
Tipo de acção personalizada 23Aninhadas instalação de um pacote de instalação da árvore de origem actual.
Tipo de acção personalizada 39Aninhadas instalação de um pacote de instalação anunciado.
Segue-se um exemplo de como criar uma acção personalizada de instalação aninhadas 7 tipo. A exemplo utiliza uma ferramenta denominada Orca (esta ferramenta é fornecida com o Windows Installer SDK) para editar o pacote .msi porque o Visual Studio Installer não é possível criar aninhados instalação acções personalizadas. (Para obter mais informações sobre Orca, consulte a secção "Referências"). A instalação aninhada envolve dois pacotes .msi. O exemplo seguinte utiliza o Basic.msi como pacote .msi do principal e nest.msi como o pacote .msi aninhados.
  1. Utilize a ferramenta Msidb (esta ferramenta é fornecida com o Windows Installer SDK) para adicionar o pacote nest.msi como um "substorage" do ficheiro Basic.msi. A linha de comandos é:
    nest.msi -d Basic.msi - r Msidb
    Este procedimento adicionará nest.msi para o ficheiro Basic.msi como substorage. Não aparecerá nenhuma caixa de diálogo Confirmar que esta foi bem sucedida, mas irá aumentar o tamanho do ficheiro para Basic.msi.

    Nota Não pode adicionar nest.msi como substorage utilizando a tabela binário no Orca. Quando adiciona um ficheiro para um MSI do índice binário , o ficheiro é adicionado como uma sequência binária, não como substorage. Ficheiros adicionados pela tabela binário não podem ser referenciados por coluna da tabela CustomAction origem.
  2. Utilize Orca para abrir Basic.msi. Localize a tabela CustomAction e escreva as informações para a acção personalizada. Se necessitar de transferir quaisquer propriedades públicas para o pacote aninhado, pode utilizar a caixa de destino para este. Vão existir duas acções personalizadas, uma para instalação e outra para desinstalação (que tem um destino de "REMOVE = ALL"). Segue-se uma tabela de CustomAction exemplo:
    Reduzir esta tabelaExpandir esta tabela
    AcçãoTipoOrigemDestino
    InstallNest7Nest.msi
    UnInstallNest7Nest.msiREMOVER = ALL
  3. Agende a acção personalizada na tabela InstallExecuteSequence . Existem instruções condicionais para o instalar e desinstalar acções na tabela InstallExecuteSequence . A condição vai associar a um componente para a instalação (> 2) ' e ' desinstalar (< = 2). Também pode associar estas acções para uma função ou outra propriedade. A acção personalizada instalação aninhadas deve ser colocada antes de InstallFinalize . Se utilizar um componente ou uma funcionalidade como uma condição, acção personalizada deve ser colocada após CostFinalize . Segue-se um exemplo InstallExecuteSequence pelo que existe um componente de Basic.msi denominados "Comp_1" e condições a instalação aninhada com base no estado Comp_1):
    Reduzir esta tabelaExpandir esta tabela
    AcçãoCondiçãoSequência
    InstallNest$ Comp_1 > 23110
    UnInstallNest$ Comp_1 < = 23120
Apesar de poder criar uma instalação MSI aninhada, existem desvantagens fazê-lo. Estas desvantagens incluem o seguinte:
  • Instalações aninhadas não podem partilhar componentes.
  • Uma instalação administrativa não pode conter uma instalação aninhada.
  • Aplicação de patches e actualizar não funcionará com instalações aninhadas.
  • O programa de instalação não irá custar correctamente uma instalação aninhada.
  • ProgressBars integrada não podem ser utilizado com instalações aninhadas.
  • Recursos que estão a ser anunciado não podem ser instalados pelo instalação aninhada.
  • Um pacote que executa uma instalação aninhada de uma aplicação também deve desinstalar a aplicação aninhada quando se desinstala o produto principal.

Referências

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
255905Como utilizar o editor de base de dados Orca para editar ficheiros do Windows Installer

Propriedades

Artigo: 306439 - Última revisão: 23 de julho de 2006 - Revisão: 4.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Installer 1.1
  • Microsoft Windows Installer 1.2
  • Microsoft Windows Installer 2.0
Palavras-chave: 
kbmt kbhowto KB306439 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306439
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com