Função MsiJoinTransaction (msi.h)
A função MsiJoinTransaction solicita que o Windows Installer torne o processo atual o proprietário da transação que instala a instalação de vários pacotes.
Windows Installer 4.0 e versões anteriores: Sem suporte. Essa função está disponível a partir do Windows Installer 4.5.
Sintaxe
UINT MsiJoinTransaction(
[in] MSIHANDLE hTransactionHandle,
[in] DWORD dwTransactionAttributes,
[out] HANDLE *phChangeOfOwnerEvent
);
Parâmetros
[in] hTransactionHandle
A ID da transação, que identifica a transação e é o identificador retornado pela função MsiBeginTransaction .
[in] dwTransactionAttributes
Atributos da instalação de vários pacotes.
Valor | Significado |
---|---|
|
Quando 0 ou nenhum valor é definido, o Windows Installer fecha a interface do usuário da instalação anterior. |
|
Defina esse atributo para solicitar que o Windows Installer não desligue a interface do usuário inserida até que a transação seja concluída. |
|
Defina esse atributo para solicitar que o Windows Installer transfira a interface do usuário inserida da instalação original. Se a instalação original não tiver nenhuma interface do usuário inserida, definir esse atributo não fará nada. |
[out] phChangeOfOwnerEvent
Esse parâmetro retorna um identificador para um evento definido quando a função MsiJoinTransaction altera o proprietário da transação para um novo proprietário. O proprietário atual pode usar isso para determinar quando a propriedade da transação foi alterada. Deixar uma transação sem um proprietário reverterá a transação.
Retornar valor
A função MsiJoinTransaction pode retornar os valores a seguir.
Valor | Significado |
---|---|
|
O usuário que possui a transação e o usuário que ingressa na transação não são os mesmos. |
|
Um parâmetro que não é válido é passado para a função . |
|
O proprietário não pode ser alterado enquanto uma instalação ativa estiver em andamento. |
|
A ID da transação fornecida não é válida. |
Comentários
Como uma transação pode pertencer a não mais de um processo por vez, as funções criadas na tabela MsiEmbeddedChainer podem usar MsiJoinTransaction para solicitar a propriedade da transação antes de usar a API do Windows Installer para configurar ou instalar um aplicativo. O instalador verifica se não há nenhuma instalação em andamento. O instalador verifica se o processo que solicita a propriedade e o processo que atualmente possui a transação compartilham um processo pai na mesma árvore de processo. Se a função for bem-sucedida, o processo que chama MsiJoinTransaction se tornará o proprietário atual da transação.
MsiJoinTransaction define a interface do usuário interna da nova instalação para o nível da interface do usuário da instalação original. Depois que a nova instalação possui a transação, ela pode chamar MsiSetInternalUI para alterar o nível da interface do usuário. Isso permite que a nova instalação seja executada em um nível de interface do usuário mais alto do que a instalação original.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.5 no Windows Vista, Windows XP, Windows Server 2003 e Windows Server 2008. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer. |
Plataforma de Destino | Windows |
Cabeçalho | msi.h |
Biblioteca | Msi.lib |
DLL | Msi.dll |