Compartilhar via


Bibliotecas de Dynamic-Link (Windows Installer)

Uma ação personalizada pode chamar uma função definida em uma DLL (biblioteca de vínculo dinâmico) escrita em C ou C++. A DLL pode existir como um arquivo instalado durante a instalação atual ou como um fluxo binário temporário proveniente da tabela binária do banco de dados de instalação.

Observe que todas as funções chamadas, incluindo ações personalizadas em DLLs, devem especificar a convenção de chamada __stdcall. Por exemplo, para chamar CustomAction, use o seguinte.

#include <windows.h>
#include <msi.h>
#include <Msiquery.h>
#pragma comment(lib, "msi.lib")

UINT __stdcall CustomAction(MSIHANDLE hInstall)

Para obter mais informações, consulte acessando a sessão do instalador atual de dentro de uma ação personalizada

Os seguintes tipos de ações personalizadas chamam uma biblioteca de vínculo dinâmico.

Tipo de ação personalizado Descrição
ação personalizada tipo 1 Arquivo DLL armazenado em um fluxo de tabela binária.
ação personalizada tipo 17 Arquivo DLL instalado com um produto.

 

Nota

Para usar COM, você precisa chamar CoInitializeEx na ação personalizada. Não desista se você descobrir que o thread já foi inicializado. Por exemplo, o thread é inicializado em uma instalação por computador, mas não em uma instalação por usuário.

 

Consulte Lista de Resumo de Todos os Tipos de Ação Personalizada para obter um resumo de todos os tipos de ações personalizadas e como elas são codificadas na tabela CustomAction.