Tipo di azione personalizzato 17

Questa azione personalizzata chiama una libreria di collegamento dinamico (DLL) scritta in C o C++.

Source (Sorgente)

La DLL viene installata con l'applicazione durante la sessione corrente. Il campo Origine della tabella CustomAction contiene una chiave per la tabella File. Il percorso del codice azione personalizzato è determinato dalla risoluzione del percorso di destinazione per questo file; Pertanto, questa azione personalizzata deve essere chiamata dopo l'installazione del file e prima che venga rimossa.

Valore del tipo

Includere il valore seguente nella colonna Type della tabella CustomAction per specificare il tipo numerico di base.

Costanti Valore esadecimale Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile 0x011 17

 

Destinazione

La DLL viene chiamata tramite il punto di ingresso denominato nel campo Target della tabella CustomAction, passando un singolo argomento che rappresenta l'handle alla sessione di installazione corrente. Il nome del punto di ingresso specificato nella tabella deve corrispondere a quello esportato dalla DLL. Si noti che se la funzione di immissione non è specificata da un oggetto . File DEF o da una specifica del linker /EXPORT: il nome può avere un carattere di sottolineatura iniziale e un suffisso "@4". La funzione chiamata deve specificare la convenzione di chiamata __stdcall.

Opzioni di elaborazione restituite

Includere i bit di flag facoltativi nella colonna Tipo della tabella CustomAction per specificare le opzioni di elaborazione restituite. Per una descrizione delle opzioni e dei valori, vedere Custom Action Return Processing Options.For a description of the options and the values, see Custom Action Return Processing Options.

Opzioni di pianificazione dell'esecuzione

Includere i bit di flag facoltativi nella colonna Tipo della tabella CustomAction per specificare le opzioni di pianificazione dell'esecuzione. Queste opzioni controllano l'esecuzione multipla di azioni personalizzate. Per una descrizione delle opzioni, vedere Opzioni di pianificazione dell'esecuzione di azioni personalizzate.

opzioni di esecuzione In-Script

Includere i bit di flag facoltativi nella colonna Tipo della tabella CustomAction per specificare un'opzione di esecuzione in-script. Queste opzioni copiano il codice azione nello script di esecuzione, rollback o commit. Per una descrizione delle opzioni, vedere Custom Action In-Script Execution Options.

Valori restituiti

Vedere Valori restituiti dell'azione personalizzata.

Commenti

Un'azione personalizzata che chiama una libreria di collegamento dinamico (DLL) richiede un handle per la sessione di installazione. Se si tratta anche di un'azione personalizzata di esecuzione posticipata, la sessione potrebbe non esistere più durante l'esecuzione dello script di installazione. Per informazioni su come un'azione personalizzata di questo tipo può ottenere informazioni sul contesto, vedere Ottenere informazioni sul contesto per azioni personalizzate di esecuzione posticipata.

Le azioni personalizzate eseguite in un thread separato possono avere accesso limitato al sistema. Le azioni personalizzate eseguite bloccano in modo asincrono il thread principale alla chiusura della sequenza corrente o della sessione di installazione fino a quando non vengono restituite.

Le azioni personalizzate che fanno riferimento a un file installato come origine, ad esempio il tipo di azione personalizzata 17 (DLL), devono rispettare le restrizioni di sequenziazione seguenti:

  • L'azione personalizzata deve essere sequenziata dopo l'azione CostFinalize. In questo modo l'azione personalizzata può risolvere il percorso necessario per individuare la DLL.
  • Se il file di origine non è già installato nel computer, le azioni personalizzate posticipate (in-script) di questo tipo devono essere sequenziate dopo l'azione InstallFiles.
  • Se il file di origine non è già installato nel computer, le azioni personalizzate non posticipate di questo tipo devono essere sequenziate dopo l'azione InstallFinalize.

Custom_Actions

Azioni personalizzate per l'esecuzione posticipata

Librerie a collegamento dinamico