Dela via


Anpassad åtgärdstyp 17

Den här anpassade åtgärden anropar ett DLL-bibliotek (Dynamic Link Library) som skrivits i C eller C++.

Källa

DLL-filen installeras med programmet under den aktuella sessionen. Fältet Källa i tabellen CustomAction innehåller en nyckel till tabellen File. Platsen för den anpassade åtgärdskoden bestäms av lösningen på målsökvägen för den här filen. Därför måste den här anpassade åtgärden anropas efter att filen har installerats och innan den tas bort.

Typvärde

Inkludera följande värde i kolumnen Typ i tabellen CustomAction för att ange den grundläggande numeriska typen.

Konstanter Hexadecimal Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile 0x011 17

 

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.

Anpassade åtgärder körs i en separat tråd och kan ha begränsad åtkomst till systemet. Anpassade åtgärder som körs asynkront blockerar huvudtråden vid avslutningen av antingen den aktuella sekvensen eller installationssessionen tills de återvänder.

Anpassade åtgärder som refererar till en installerad fil som källa, till exempel anpassad åtgärdstyp 17 (DLL), måste följa följande sekvenseringsbegränsningar:

  • Den anpassade åtgärden måste sekvenseras efter åtgärden CostFinalize. Detta gör att den anpassade åtgärden kan matcha sökvägen som behövs för att hitta DLL:en.
  • Om källfilen inte redan är installerad på datorn måste uppskjutna (in-script) anpassade åtgärder av den här typen sekvenseras efter åtgärden InstallFiles.
  • Om källfilen inte redan är installerad på datorn måste icke-uppskjutna anpassade åtgärder av den här typen sekvenseras efter åtgärden InstallFinalize.

Custom_Actions

Anpassade åtgärder för uppskjuten körning

Dynamic-Link bibliotek