Share via


Tipo di azione personalizzato 1

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

Source (Sorgente)

La DLL viene generata da un flusso binario temporaneo. Il campo Origine della tabella CustomAction contiene una chiave per la tabella Binaria.

La colonna Data nella tabella Binary contiene i dati del flusso. Per ogni riga viene allocato un flusso separato. È possibile inserire nuovi dati binari da un file usando MsiRecordSetStream seguito da MsiViewModify per inserire il record nella tabella. Quando viene richiamata l'azione personalizzata, i dati del flusso vengono copiati in un file temporaneo, che viene quindi elaborato a seconda del tipo di azione personalizzata.

Valore del tipo

Includere i bit di flag seguenti nella colonna Type della tabella CustomAction per specificare il tipo numerico di base.

Costanti Valore esadecimale Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData 0x001 1

 

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.

Quando viene esportata una tabella di database, ogni flusso viene scritto come file separato nella sottocartella denominata dopo la tabella, usando la chiave primaria come nome file (colonna Name per la tabella binaria), con un'estensione predefinita ".ibd". Il nome deve usare il formato 8.3 se il file system o il sistema di controllo della versione non supporta nomi di file lunghi. Il file di archivio permanente sostituisce i dati del flusso con il nome file usato, in modo che i dati possano trovarsi quando la tabella viene importata.

Custom_Actions

Librerie a collegamento dinamico

Recupero di informazioni sul contesto per azioni personalizzate per l'esecuzione posticipata