Bibliotecas de vínculo dinâmico (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 Binary do banco de dados de instalação.

Observe que todas as funções chamadas, incluindo as 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, confira Acessando a sessão do instalador atual em uma ação personalizada

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

Tipo de ação personalizada Descrição
Ação personalizada Tipo 1 Arquivo DLL armazenado em um fluxo da tabela Binary.
Ação personalizada Tipo 17 Arquivo DLL instalado com um produto.

 

Observação

Para usar COM, você precisa chamar CoInitializeEx na ação personalizada. Não saia 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.

 

Confira a 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.