Anpassad åtgärdstyp 1
Den här anpassade åtgärden anropar ett DLL-bibliotek (Dynamic Link Library) som skrivits i C eller C++.
Källa
DLL:en genereras från en tillfällig binär dataström. Fältet Källa i tabellen CustomAction innehåller en nyckel till binär tabell.
Kolumnen Data i tabellen Binär innehåller dataströmmen. En separat ström allokeras för varje rad. Nya binära data kan infogas från en fil med hjälp av MsiRecordSetStream följt av MsiViewModify- för att infoga posten i tabellen. När den anpassade åtgärden anropas kopieras dataströmmen till en tillfällig fil, som sedan bearbetas beroende på typen av anpassad åtgärd.
Typvärde
Inkludera följande flaggbitar i kolumnen Typ i tabellen CustomAction för att ange den grundläggande numeriska typen.
Konstanter | Hexadecimal | Decimal |
---|---|---|
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData | 0x001 | 1 |
Mål
DLL anropas via startpunkten med namnet i fältet Mål i tabellen CustomActionoch skickar ett enda argument som är referensen till den aktuella installationssessionen. Startpunktens namn som anges i tabellen måste matcha det som exporterats från DLL:en. Observera att om postfunktionen inte har angetts av en . DEF-fil eller med en /EXPORT: linker-specifikation, namnet kan ha ett inledande understreck och ett "@4"-suffix. Den anropade funktionen måste ange __stdcall anropande konvention.
Alternativ för returbearbetning
Inkludera valfria flaggbitar i kolumnen Typ i tabellen CustomAction för att ange alternativ för returbearbetning. En beskrivning av alternativen och värdena finns i Alternativ för returnering av anpassad åtgärd.
Schemaläggningsalternativ för körning
Inkludera valfria flaggbitar i kolumnen Typ i tabellen CustomAction för att ange alternativ för körningsschemaläggning. De här alternativen styr flera körningar av anpassade åtgärder. En beskrivning av alternativen finns i Schemaläggningsalternativ för anpassad åtgärdskörning.
In-Script körningsalternativ
Inkludera valfria flaggbitar i kolumnen Typ i tabellen CustomAction för att ange ett körningsalternativ i skriptet. De här alternativen kopierar åtgärdskoden till körnings-, återställnings- eller incheckningsskriptet. En beskrivning av alternativen finns i Anpassad åtgärd In-Script Körningsalternativ.
Returnera värden
Se anpassade åtgärdsreturvärden.
Anmärkningar
En anpassad åtgärd som anropar ett DLL -bibliotek (Dynamic Link Library) kräver en handtag till installationssessionen. Om detta också är en anpassad åtgärd för uppskjuten körning kanske sessionen inte längre finns under körningen av installationsskriptet. Information om hur en anpassad åtgärd av den här typen kan hämta kontextinformation finns i Hämta kontextinformation för anpassade åtgärder för uppskjuten körning.
När en databastabell exporteras skrivs varje dataström som en separat fil i undermappen med namnet efter tabellen med primärnyckeln som filnamn (namnkolumnen för den binära tabellen), med standardtillägget ".ibd". Namnet ska använda formatet 8.3 om filsystemet eller versionskontrollsystemet inte stöder långa filnamn. Den beständiga arkivfilen ersätter dataströmmen med det filnamn som används, så att data kan finnas när tabellen importeras.
Relaterade ämnen