Share via


Azioni personalizzate di esecuzione posticipate

Lo scopo di un'azione personalizzata di esecuzione posticipata consiste nel ritardare l'esecuzione di una modifica di sistema al momento dell'esecuzione dello script di installazione. Ciò è diverso da un'azione personalizzata regolare o da un'azione standard, in cui il programma di installazione esegue l'azione immediatamente dopo averla incontrata in una tabella di sequenza o in una chiamata a MsiDoAction. Un'azione personalizzata di esecuzione posticipata consente a un autore del pacchetto di specificare le operazioni di sistema in un determinato punto all'interno dell'esecuzione dello script di installazione.

Il programma di installazione non esegue un'azione personalizzata di esecuzione posticipata al momento dell'elaborazione della sequenza di installazione. Il programma di installazione scrive invece l'azione personalizzata nello script di installazione. L'unico parametro di modalità impostato dal programma di installazione in questo caso è MSIRUNMODE_SCHEDULED. Per una descrizione dei parametri della modalità di esecuzione, vedere MsiGetMode .

Un'azione personalizzata di esecuzione posticipata deve essere pianificata nella tabella della sequenza di esecuzione all'interno della sezione che esegue la generazione di script. Le azioni personalizzate di esecuzione posticipata devono venire dopo InstallInitialize e prima di InstallFinalize nella sequenza di azioni.

Azioni personalizzate che impostano proprietà, stati di funzionalità, stati del componente o directory di destinazione o che pianificano le operazioni di sistema inserendo righe nelle tabelle di sequenza, possono in molti casi usare l'esecuzione immediata in modo sicuro. Tuttavia, le azioni personalizzate che cambiano direttamente il sistema o chiamano un altro servizio di sistema, devono essere posticipate al momento dell'esecuzione dello script di installazione. Vedere Azioni personalizzate sincrone e asincrone per altre informazioni sui potenziali conflitti tra le azioni personalizzate e il thread di installazione principale.

Poiché lo script di installazione può essere eseguito all'esterno della sessione di installazione in cui è stato scritto, la sessione potrebbe non esistere più durante l'esecuzione dello script di installazione. Ciò significa che l'handle della sessione originale e il set di dati delle proprietà durante la sequenza di installazione non è disponibile per un'azione personalizzata di esecuzione posticipata. Le azioni personalizzate posticipate che chiamano librerie di collegamento dinamico (DLL) passano un handle che può essere usato solo per ottenere una quantità molto limitata di informazioni, come descritto in Ottenere informazioni di contesto per azioni personalizzate di esecuzione posticipata.

Si noti che le azioni personalizzate posticipate, tra cui il rollback delle azioni personalizzate e il commit di azioni personalizzate, sono gli unici tipi di azioni che possono essere eseguite all'esterno del contesto di sicurezza degli utenti.

Opzioni di esecuzione personalizzate In-Script

Informazioni di riferimento sulle azioni personalizzate