Dynamic-Link bibliotheken (Windows Installer)
Een aangepaste actie kan een functie aanroepen die is gedefinieerd in een DLL (Dynamic Link Library) die is geschreven in C of C++. Het DLL-bestand kan bestaan als een bestand dat is geïnstalleerd tijdens de huidige installatie of als een tijdelijke binaire stroom die afkomstig is van de binaire tabel van de installatiedatabase.
Houd er rekening mee dat alle aangeroepen functies, inclusief aangepaste acties in DLL's, de __stdcall oproepconventie moeten opgeven. Als u bijvoorbeeld CustomAction wilt aanroepen, gebruikt u het volgende.
#include <windows.h>
#include <msi.h>
#include <Msiquery.h>
#pragma comment(lib, "msi.lib")
UINT __stdcall CustomAction(MSIHANDLE hInstall)
Zie voor meer informatie de huidige installatiesessie openen vanuit een aangepaste actie
Met de volgende typen aangepaste acties wordt een bibliotheek voor dynamische koppelingen aangeroepen.
Aangepast actietype | Beschrijving |
---|---|
aangepast actietype 1 | DLL-bestand dat is opgeslagen in een binaire tabelstroom. |
aangepast actietype 17 | DLL-bestand geïnstalleerd met een product. |
Notitie
Als u COM wilt gebruiken, moet u CoInitializeEx aanroepen in de aangepaste actie. Sluit niet af als u merkt dat de thread al is geïnitialiseerd. De thread wordt bijvoorbeeld geïnitialiseerd in een installatie per machine, maar niet in een installatie per gebruiker.
Zie overzichtslijst met alle aangepaste actietypen voor een overzicht van alle typen aangepaste acties en hoe deze worden gecodeerd in de CustomAction-tabel.