Executar ações personalizadas durante a atualização de recursos
Visão geral
Os profissionais de TI podem personalizar uma atualização de recursos executando seus próprios scripts de ação personalizados durante e após uma atualização de recurso. Ações personalizadas estão disponíveis a partir do Windows 10, versão 1803.
Executando ações personalizadas
Sobre ações personalizadas
As ações personalizadas são scripts .cmd executados durante o processo de atualização de recursos. Eles podem ser executados durante quatro fases de uma atualização de recurso:
- Fase de pré-instalação: essa fase é quando a Instalação é iniciada, mas verificações de compatibilidade anteriores. As ações durante essa fase são especificadas em
preinstall.cmd
. Se os scripts falharem, a atualização de recursos falhará. - Fase de pré-confirmação: essa fase é anterior à aplicação da atualização de recursos e à reinicialização do sistema. As ações durante essa fase são especificadas em
precommit.cmd
. Se os scripts falharem, a atualização de recursos falhará. - Fase pós-desinstalação: essas fases ocorrem depois que um usuário inicia uma desinstalação de uma atualização de recurso. As ações durante essa fase são especificadas em
postuninstall.cmd
.postuninstall.cmd
é novo para Windows 10, versão 2004. - Conclusão: essa fase é após a conclusão da Instalação. Se a atualização de recursos falhar ou precisar ser revertida,
failure.cmd
poderá ser usado para executar operações personalizadas ou desfazer ações de scripts personalizados anteriores. Se a atualização de recurso for bem-sucedida,success.cmd
poderá ser usada para executar ações de atualização de recurso pós-recurso.success.cmd
é novo para Windows 10, versão 2004.
As ações personalizadas são executadas durante uma atualização de recurso instalada pela Instalação do Windows. Algumas atualizações de recursos do Windows são instaladas por meio de uma atualização de qualidade mensal e, posteriormente, ativadas por meio de um "pacote de habilitação", um pequeno e rápido "comutador de master" que ativa os recursos do Windows. Por exemplo, atualizando de Windows 10, versão 2004 para Windows 10, versão 20H2. Não há suporte para ações personalizadas para atualizações de recursos instaladas por meio de pacotes de habilitação.
Estrutura de pastas de ações personalizadas
Os scripts de ação personalizados são executados em subpastas no %windir%\System32\update\
, dependendo se você deseja que os scripts sejam executados para uma única atualização ou em todas as atualizações futuras. A Instalação do Windows procura automaticamente esses scripts nos seguintes locais e os executará se eles estiverem presentes:
Pasta | Descrição |
---|---|
%windir%\System32\update\run | A Instalação do Windows migrará scripts nessas pastas para que sejam executados em atualizações futuras. |
%windir%\System32\update\runonce | Os scripts nessa pasta só serão executados em uma atualização e não serão migrados para atualizações futuras. |
%windir%\System32\update\run\<GUID>%windir%\System32\update\runonce\<GUID> | Crie um GUID exclusivo para identificar claramente cada script executado. Use esse GUID para nomear uma pasta dentro das run pastas e runonce . |
%windir%\System32\update\run\<GUID>\reflectdrivers%windir%\System32\update\runonce\<GUID>\reflectdrivers | Os drivers críticos de inicialização nesta pasta serão refletidos. Verifique se a pasta reflectdrivers contém apenas um conjunto necessário de drivers de criptografia. Ter mais drivers do que o necessário pode afetar negativamente os cenários de atualização. Confira Drivers de dispositivo para saber mais sobre drivers refletidos. |
Se uma atualização falhar ou precisar ser revertida, um script failure.cmd poderá ser usado para executar operações personalizadas ou desfazer ações de scripts personalizados anteriores. Se os scripts falharem, a atualização falhará.
Exemplos e locais de script de ação personalizados
Locais de script
A tabela a seguir mostra a estrutura de caminho de pasta dos arquivos para executar ações personalizadas:
Executar (scripts serão migrados) | Executar uma vez (os scripts não serão migrados) |
---|---|
%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 |
Exemplo de caminhos e nomes de arquivo
Cenários | Exemplos de local do arquivo |
---|---|
Dados de implantação de script | %windir%\system32\update\ |
Diretórios de migração | |
Scripts que serão migrados | %windir%\system32\update\run\ |
Scripts que não serão migrados | %windir%\system32\update\runonce\ |
Caminho da pasta com um GUID | %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\ |
Nomes de script com GUID | |
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\preinstall.cmd | |
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\precommit.cmd | |
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\postuninstall.cmd | |
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\failure.cmd | |
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\success.cmd | |
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\preinstall.cmd | |
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\precommit.cmd | |
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\postuninstall.cmd | |
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\failure.cmd | |
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\success.cmd | |
Pasta drivers refletidos | %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\reflectdrivers\ |