A custom action can call a function defined in a dynamic-link library (DLL) written in C or C++. The DLL can exist as a file installed during the current installation or as a temporary binary stream originating from the
Binary table of the installation database.
Note that any called functions, including custom actions in DLLs, must specify the __stdcall calling convention. For example, to call CustomAction use the following.
#include <windows.h>
#include <msi.h>
#include <Msiquery.h>
#pragma comment(lib, "msi.lib")
UINT __stdcall CustomAction(MSIHANDLE hInstall)
For more information see,
Accessing the Current Installer Session from Inside a Custom Action
The following types of custom actions call a dynamic-link library.
Note To use COM you need to call
CoInitializeEx in the custom action. Do not quit if you find that the thread has already been initialized. For example, the thread is initialized in a per-machine installation but not in a per-user installation.
See
Summary List of All Custom Action Types for a summary of all types of custom actions and how they are encoded into the
CustomAction table.
Send comments about this topic to Microsoft
Build date: 11/12/2009