Condividi tramite


Azioni personalizzate per l'esecuzione posticipata

Lo scopo di un'azione personalizzata di esecuzione posticipata consiste nel ritardare l'esecuzione di una modifica di sistema al momento in cui viene eseguito lo script di installazione. Ciò differisce da un'azione personalizzata regolare o da un'azione standard, in cui il programma di installazione esegue l'azione immediatamente dopo averlo rilevato 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 mode impostato dal programma di installazione in questo caso è MSIRUNMODE_SCHEDULED. Per una descrizione dei parametri della modalità di esecuzione, vedere MsiGetMode.

È necessario pianificare un'azione personalizzata di esecuzione posticipata 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 devono venire prima di InstallFinalize nella sequenza di azione.

Le azioni personalizzate che impostano proprietà, stati delle funzionalità, stati dei componenti 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 modificano direttamente il sistema o chiamano un altro servizio di sistema devono essere posticipate all'ora in cui viene eseguito lo 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 di sessione originale e il set di dati delle proprietà durante la sequenza di installazione non sono disponibili per un'azione personalizzata di esecuzione posticipata. Le azioni personalizzate posticipate che chiamano dll (Dynamic Link Librarie) 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, incluse azioni personalizzate di rollback e eseguire il commit di azioni personalizzate, sono gli unici tipi di azioni che possono essere eseguite all'esterno del contesto di sicurezza degli utenti.

'azione personalizzata In-Script opzioni di esecuzione

riferimento all'azione personalizzata