Eseguire azioni personalizzate durante l'aggiornamento delle funzionalità

Panoramica

I professionisti IT possono personalizzare un aggiornamento delle funzionalità eseguendo script di azione personalizzati durante e dopo un aggiornamento delle funzionalità. Le azioni personalizzate sono disponibili a partire da Windows 10 versione 1803.

Esecuzione di azioni personalizzate

Informazioni sulle azioni personalizzate

Le azioni personalizzate sono script con estensione cmd eseguiti durante il processo di aggiornamento delle funzionalità. Queste operazioni possono essere eseguite durante quattro fasi di un aggiornamento delle funzionalità:

  1. Fase di preinstallazione: questa fase si verifica all'avvio dell'installazione, ma prima dei controlli di compatibilità. Le azioni durante questa fase vengono specificate in preinstall.cmd. Se gli script hanno esito negativo, l'aggiornamento delle funzionalità avrà esito negativo.
  2. Fase di pre-commit: questa fase è precedente all'applicazione dell'aggiornamento delle funzionalità e al riavvio del sistema. Le azioni durante questa fase vengono specificate in precommit.cmd. Se gli script hanno esito negativo, l'aggiornamento delle funzionalità avrà esito negativo.
  3. Fase di post-disinstallazione: questa fase è dopo che un utente avvia una disinstallazione di un aggiornamento delle funzionalità. Le azioni durante questa fase vengono specificate in postuninstall.cmd. postuninstall.cmdè una novità per Windows 10, versione 2004.
  4. Completamento: questa fase è al termine dell'installazione. Se l'aggiornamento delle funzionalità ha esito negativo o deve essere eseguito il rollback, failure.cmd può essere usato per eseguire operazioni personalizzate o annullare azioni degli script personalizzati precedenti. Se l'aggiornamento delle funzionalità ha esito positivo, success.cmd può essere usato per eseguire azioni post-aggiornamento delle funzionalità. success.cmdè una novità per Windows 10, versione 2004.

Le azioni personalizzate vengono eseguite durante un aggiornamento delle funzionalità installato dal programma di installazione di Windows. Alcuni aggiornamenti delle funzionalità di Windows vengono installati tramite un aggiornamento qualitativo mensile e successivamente attivati tramite un "pacchetto di abilitazione", un piccolo commutatore "master" che attiva le funzionalità di Windows. Ad esempio, l'aggiornamento da Windows 10 versione 2004 a Windows 10 versione 20H2. Le azioni personalizzate non sono supportate per gli aggiornamenti delle funzionalità installati tramite pacchetti di abilitazione.

Struttura di cartelle delle azioni personalizzate

Gli script di azione personalizzati vengono eseguiti da sottocartelle in %windir%\System32\update\, a seconda che si desideri che gli script vengano eseguiti per un singolo aggiornamento o per tutti gli aggiornamenti futuri. Il programma di installazione di Windows cerca automaticamente questi script nei percorsi seguenti e li eseguirà se presenti:

Cartella Descrizione
%windir%\System32\update\run Il programma di installazione di Windows eseguirà la migrazione degli script in queste cartelle in modo che vengano eseguiti in aggiornamenti futuri.
%windir%\System32\update\runonce Gli script in questa cartella verranno eseguiti solo in un aggiornamento e non verranno migrati per gli aggiornamenti futuri.
%windir%\System32\update\run\<GUID>

%windir%\System32\update\runonce\<GUID>
Creare un GUID univoco per identificare chiaramente ogni script eseguito. Usare questo GUID per assegnare un nome a una cartella all'interno delle run cartelle e runonce .
%windir%\System32\update\run\<GUID>\reflectdrivers

%windir%\System32\update\runonce\<GUID>\reflectdrivers
I driver critici di avvio in questa cartella verranno riflessi. Assicurarsi che la cartella reflectdrivers contenga solo un set necessario di driver di crittografia. Avere più driver di quanto necessario può influire negativamente sugli scenari di aggiornamento. Per altre informazioni sui driver riflessi, vedere Driver di dispositivo .

Se un aggiornamento non riesce o deve essere eseguito il rollback, è possibile usare uno script failure.cmd per eseguire operazioni personalizzate o annullare azioni degli script personalizzati precedenti. Se gli script hanno esito negativo, l'aggiornamento avrà esito negativo.

Percorsi ed esempi di script di azione personalizzati

Percorsi di script

La tabella seguente illustra la struttura del percorso della cartella dei file per l'esecuzione di azioni personalizzate:

Esecuzione (verrà eseguita la migrazione degli script) Esegui una sola volta (gli script non verranno migrati)
%windir%\System32\update\run\<GUID>\preinstall.cmd %windir%\System32\update\runonce\<GUID>\preinstall.cmd
%windir%\System32\update\run\<GUID>\precommit.cmd %windir%\System32\update\runonce\<GUID>\precommit.cmd
%windir%\System32\update\run\<GUID>\postuninstall.cmd %windir%\System32\update\runonce\<GUID>\postuninstall.cmd
%windir%\System32\update\run\<GUID>\success.cmd %windir%\System32\update\runonce\<GUID>\success.cmd
%windir%\System32\update\run\<GUID>\failure.cmd %windir%\System32\update\runonce\<GUID>\failure.cmd
%windir%\System32\update\run\<GUID>\reflectdrivers\example1.inf %windir%\System32\update\runonce\<GUID>\reflectdrivers\example2.inf
%windir%\System32\update\run\<GUID>\reflectdrivers\example1.sys %windir%\System32\update\run\<GUID>\reflectdrivers\example2.sys

Percorsi e nomi di file di esempio

Scenari Esempi di percorso file
Creare script per i dati di distribuzione %windir%\system32\update\
Directory di migrazione
Script di cui verrà eseguita la migrazione %windir%\system32\update\run\
Script di cui non verrà eseguita la migrazione %windir%\system32\update\runonce\
Percorso della cartella con un GUID %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\
Nomi di script con GUID
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\preinstall.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\precommit.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\postuninstall.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\failure.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\success.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\preinstall.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\precommit.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\postuninstall.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\failure.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\success.cmd
Cartella driver riflessi %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EEE9BBCC1C\reflectdrivers\