Dynamic-Link ライブラリ (Windows インストーラー)
カスタム アクションは、C または C++ で記述されたダイナミック リンク ライブラリ (DLL) で定義された関数を呼び出すことができます。 DLL は、現在のインストール時にインストールされたファイルとして、またはインストール データベースの バイナリ テーブルから 一時バイナリ ストリームとして存在できます。
DLL のカスタム アクションを含め、呼び出された関数は、__stdcall呼び出し規則を指定する必要があることに注意してください。 たとえば、CustomAction を呼び出すには、次を使用します。
#include <windows.h>
#include <msi.h>
#include <Msiquery.h>
#pragma comment(lib, "msi.lib")
UINT __stdcall CustomAction(MSIHANDLE hInstall)
詳細については、「カスタム アクション 内から現在のインストーラー セッションにアクセスする」を参照してください。
次の種類のカスタム アクションは、ダイナミック リンク ライブラリを呼び出します。
カスタム アクションの種類 | 形容 |
---|---|
カスタム アクションタイプ 1 の | バイナリ テーブル ストリームに格納されている DLL ファイル。 |
カスタム アクションの種類 17 | 製品と共にインストールされた DLL ファイル。 |
手記
COM を使用するには、カスタム アクション CoInitializeEx を呼び出す必要があります。 スレッドが既に初期化されている場合は終了しないでください。 たとえば、スレッドはマシンごとのインストールで初期化されますが、ユーザーごとのインストールでは初期化されません。
すべての種類のカスタム アクションの概要と、CustomAction テーブルへのエンコード方法については、「すべてのカスタム アクションの種類の の概要リストを する」を参照してください。