Partilhar via


Bibliotecas Dynamic-Link (Windows Installer)

Uma ação personalizada pode chamar uma função definida em uma biblioteca de vínculo dinâmico (DLL) 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 originado do 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 atual do instalador de dentro de um de ação personalizada

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

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

 

Observação

Para usar COM, você precisa chamar CoInitializeEx na ação personalizada. Não feche se achar que o thread já foi inicializado. Por exemplo, o thread é inicializado em uma instalação por máquina, 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.