Dynamic-Link kódtárak (Windows Installer)
Egy egyéni művelet meghívhat egy C vagy C++ nyelven írt dinamikus csatolású kódtárban (DLL) definiált függvényt. A DLL az aktuális telepítés során telepített fájlként vagy ideiglenes bináris adatfolyamként is létezhet, amely a telepítési adatbázis Bináris tábla származik.
Vegye figyelembe, hogy minden hívott függvénynek, beleértve a DLL-ekben található egyéni műveleteket is, meg kell adnia a __stdcall hívási konvencióját. A CustomAction meghívásához például használja az alábbiakat.
#include <windows.h>
#include <msi.h>
#include <Msiquery.h>
#pragma comment(lib, "msi.lib")
UINT __stdcall CustomAction(MSIHANDLE hInstall)
További információ: Az aktuális telepítő munkamenet elérése egyéni műveleten belülről
Az alábbi egyéni műveletek dinamikus csatolású kódtárat hívnak meg.
Egyéni művelettípus | Leírás |
---|---|
1. típusú egyéni művelet | Bináris táblastreamben tárolt DLL-fájl. |
17-es egyéni művelettípus | Termékkel telepített DLL-fájl. |
Jegyzet
A COM használatához meg kell hívnia CoInitializeEx az egyéni műveletben. Ne lépjen ki, ha azt tapasztalja, hogy a szál már inicializálva van. A szál inicializálása például gépenkénti telepítésben történik, de felhasználónkénti telepítésben nem.
Az egyéni műveletek összes típusának összegzését és a CustomAction táblakódolását a Összes egyéni művelettípus összegzése című cikkben találja.