Ejecución de acciones personalizadas durante la actualización de características

Información general

Los profesionales de TI pueden personalizar una actualización de características ejecutando sus propios scripts de acción personalizados durante y después de una actualización de características. Las acciones personalizadas están disponibles a partir de Windows 10, versión 1803.

Ejecución de acciones personalizadas

Acercad e las acciones personalizadas

Las acciones personalizadas son scripts .cmd que se ejecutan durante el proceso de actualización de características. Se pueden ejecutar durante cuatro fases de una actualización de características:

  1. Fase previa a la instalación: esta fase es cuando se inicia el programa de instalación, pero antes de las comprobaciones de compatibilidad. Las acciones durante esta fase se especifican en preinstall.cmd. Si se produce un error en los scripts, se producirá un error en la actualización de características.
  2. Fase de confirmación previa: esta fase es anterior a la aplicación de la actualización de características y al reinicio del sistema. Las acciones durante esta fase se especifican en precommit.cmd. Si se produce un error en los scripts, se producirá un error en la actualización de características.
  3. Fase posterior a la desinstalación: esta fase es después de que un usuario inicie una desinstalación de una actualización de características. Las acciones durante esta fase se especifican en postuninstall.cmd. postuninstall.cmdes nuevo para Windows 10, versión 2004.
  4. Finalización: esta fase es una vez completada la instalación. Si se produce un error en la actualización de características o tiene que revertirse, failure.cmd se puede usar para realizar operaciones personalizadas o deshacer acciones de scripts personalizados anteriores. Si la actualización de características se realiza correctamente, success.cmd se puede usar para realizar acciones posteriores a la actualización de características. success.cmdes nuevo para Windows 10, versión 2004.

Las acciones personalizadas se ejecutan durante una actualización de características instalada por el programa de instalación de Windows. Algunas actualizaciones de características de Windows se instalan a través de una actualización de calidad mensual y, posteriormente, se activan a través de un "paquete de habilitación", un pequeño conmutador "maestro" que activa las características de Windows. Por ejemplo, actualizando de Windows 10, versión 2004 a Windows 10, versión 20H2. Las acciones personalizadas no se admiten para las actualizaciones de características que se instalan a través de paquetes de habilitación.

Estructura de carpetas de acciones personalizadas

Los scripts de acción personalizados se ejecutan desde subcarpetas en %windir%\System32\update\, en función de si desea que los scripts se ejecuten para una sola actualización o en todas las actualizaciones futuras. El programa de instalación de Windows busca automáticamente estos scripts en las siguientes ubicaciones y los ejecutará si están presentes:

Carpeta Descripción
%windir%\System32\update\run El programa de instalación de Windows migrará scripts en estas carpetas para que se ejecuten en futuras actualizaciones.
%windir%\System32\update\runonce Los scripts de esta carpeta solo se ejecutarán en una actualización y no se migrarán para futuras actualizaciones.
%windir%\System32\update\run\<GUID>

%windir%\System32\update\runonce\<GUID>
Cree un GUID único para identificar claramente cada script que ejecute. Use este GUID para asignar un nombre a una carpeta dentro de las run carpetas y runonce .
%windir%\System32\update\run\<GUID>\reflectdrivers

%windir%\System32\update\runonce\<GUID>\reflectdrivers
Los controladores críticos para el arranque de esta carpeta se reflejarán. Asegúrese de que la carpeta reflectdrivers solo contiene un conjunto necesario de controladores de cifrado. Tener más controladores de los necesarios puede afectar negativamente a los escenarios de actualización. Consulte Controladores de dispositivos para obtener más información sobre los controladores reflejados.

Si se produce un error en una actualización o tiene que revertirse, se puede usar un script failure.cmd para realizar operaciones personalizadas o deshacer acciones de scripts personalizados anteriores. Si se produce un error en los scripts, se producirá un error en la actualización.

Ubicaciones y ejemplos de scripts de acción personalizados

Ubicaciones de script

En la tabla siguiente se muestra la estructura de ruta de acceso de carpeta de los archivos para ejecutar acciones personalizadas:

Ejecución (se migrarán scripts) Ejecutar una vez (los scripts no se migrarán)
%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

Rutas de acceso y nombres de archivo de ejemplo

Escenarios Ejemplos de ubicación de archivo
Datos de implementación de scripts %windir%\system32\update\
Directorios de migración
Scripts que se migrarán %windir%\system32\update\run\
Scripts que no se migrarán %windir%\system32\update\runonce\
Ruta de acceso de carpeta con un GUID %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\
Nombres de script con 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
Carpeta de controladores reflejados %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\reflectdrivers\