Tabela MsiEmbeddedChainer

Use esta tabela para criar uma instalação de vários pacotes. Cada linha da tabela MsiEmbeddedChainer referencia uma função definida pelo usuário diferente que pode ser usada para instalar vários pacotes do Windows Installer por meio de um só pacote. Os arquivos executáveis para as funções definidas pelo usuário são armazenados no pacote do Windows Installer.

Windows Installer 4.0 ou versões anteriores: sem suporte. Esta tabela está disponível a partir do Windows Installer 4.5.

Windows Server 2008 R2 com a função Serviços de Área de Trabalho Remota habilitada: sem suporte. Ocorre uma falha em uma instalação de vários pacotes que usa a tabela MsiEmbeddedChainer, caso a função Serviços de Área de Trabalho Remota esteja habilitada.

Para instalar vários pacotes por meio de um só pacote, uma das funções definidas pelo usuário listadas na tabela MsiEmbeddedChainer precisa ter uma instrução condicional no campo Condition avaliada para executar a ação. Se mais de uma função tiver uma condição que seja avaliada como executada, apenas uma função poderá ser executada. Esse caso é um erro e não é possível garantir qual função será executada. Se outras ações personalizadas forem necessárias para a instalação, elas deverão ser criadas na tabela CustomAction e nas tabelas de sequência.

As funções precisam ingressar na instalação atual chamando a função MsiJoinTransaction e precisam chamar a função MsiEndTransaction para confirmar a instalação de vários pacotes. Se as funções forem retornadas antes de chamar MsiEndTransaction, o instalador reverterá todas as instalações.

A tabela MsiEmbeddedChainer tem as colunas a seguir.

Coluna Tipo Chave Nullable
MsiEmbeddedChainer Identificador S N
Condição Condição N S
CommandLine Formatted N S
Fonte CustomSource N N
Type Inteiro N N

 

Colunas

MsiEmbeddedChainer

A chave primária da tabela. Esse valor é um identificador exclusivo da função definida pelo usuário descrita por esta linha.

Condition

Uma instrução condicional usada para executar a função definida pelo usuário. Você pode habilitar ou desabilitar as funções listadas na tabela MsiEmbeddedChainer usando uma transformação que modifica os valores de propriedade avaliados por esse campo. Para obter mais informações, confira Como usar propriedades em instruções condicionais.

CommandLine

O valor desse campo é uma parte da cadeia de caracteres de linha de comando transmitida para o arquivo executável identificado na coluna Source. O instalador acrescenta o valor nesse campo ao identificador de transação para gerar a linha de comando. Se o valor dessa coluna for nulo, a linha de comando consistirá apenas no identificador de transação.

Source

O local do arquivo executável da função definida pelo usuário. Se o valor na coluna Type for 2, essa coluna poderá conter uma chave externa na tabela Binary. Se o valor na coluna Type for 18, essa coluna poderá conter uma chave externa na tabela File. Se o valor na coluna Type for 50, essa coluna poderá conter uma chave externa na tabela Property.

Type

As funções listadas na tabela MsiEmbeddedChainer são descritas com os tipos numéricos de ação personalizada a seguir. Essa coluna pode conter os valores somente para os três tipos numéricos a seguir. Qualquer outra combinação de sinalizadores de ação personalizada é ignorada.

Tipo de ação personalizada Sinalizadores de ação personalizada Hexadecimal Decimal
Tipo de Ação Personalizada 2 msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData 0x002 2
Tipo de Ação Personalizada 18 msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile 0x012 18
Tipo de Ação Personalizada 50 msidbCustomActionTypeExe + msidbCustomActionTypeProperty 0x032 50

 

Comentários

O Windows Installer não impede que as funções definidas pelo usuário nesta tabela sejam executadas durante o anúncio do aplicativo. Use uma instrução condicional na coluna Condition para impedir que uma função seja executada durante o anúncio.

O Windows Installer também fornece um manipulador de interface do usuário externo não integrado para criar uma interface do usuário sofisticada com base no pacote do Windows Installer. Para obter mais informações sobre como usar um manipulador de interface do usuário externo com o Windows Installer, confira Como monitorar uma instalação usando MsiSetExternalUI.

A tabela MsiPackageCertificate lista os certificados de assinatura digital usados para verificar a identidade dos pacotes de instalação que fazem uma instalação de vários pacotes. Use essa tabela para reduzir o número de vezes que a instalação de vários pacotes exibe um prompt do UAC (Controle de Conta de Usuário) que exige uma resposta de um administrador.