Dynamic-Link 連結庫 (Windows Installer)
自定義動作可以呼叫以 C 或 C++撰寫的動態連結庫 (DLL) 中所定義的函式。 DLL 可以存在於目前安裝期間安裝的檔案,或做為源自安裝資料庫之 Binary 數據表 的暫存二進位數據流。
請注意,任何呼叫的函式,包括 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 資料表,請參閱 所有自定義動作類型的摘要清單。