Reinicios del sistema

Windows Installer puede determinar cuándo es necesario reiniciar el sistema y solicitar automáticamente al usuario que lo reinicie al final de la instalación. Por ejemplo, el instalador solicitará automáticamente un reinicio si necesita reemplazar cualquier archivo que esté en uso durante la instalación.

Las aplicaciones que usan Windows Installer versión 4.0 o posterior para la instalación y el mantenimiento emplearán automáticamente el administrador de reinicio para reducir los reinicios del sistema. Windows Installer versión 4.0 o posterior tiene propiedades y directivas que permiten al autor del paquete y a los administradores controlar la interacción de Windows Installer con el administrador de reinicio. Para más información, consulte Uso de Windows Installer con el Administrador de reinicios.

Los autores de paquetes de instalación pueden programar y suprimir reinicios mediante acciones estándar en las tablas de secuencia y el establecimiento de propiedades. Las siguientes acciones y propiedades se usan para controlar los reinicios del sistema.

Acción, cuadro de diálogo o propiedad Breve descripción
Acción ForceReboot Solicita al usuario un reinicio durante la instalación.
Acción ScheduleReboot Solicita al usuario un reinicio al final de la instalación.
Propiedad REBOOT Fuerza o suprime ciertos avisos automáticos para un reinicio del sistema.
Propiedad REBOOTPROMPT Suprime la presentación de solicitudes de reinicio al usuario. Los reinicios necesarios se producen automáticamente.
Propiedad AFTERREBOOT Se usa normalmente en una condición impuesta a la acción ForceReboot.
Acción InstallValidate Muestra el cuadro de diálogo FilesInUse, si es necesario, dando a los usuarios la oportunidad de cerrar los procesos y evitar algunos reinicios del sistema.
Cuadro de diálogo FilesInUse Ofrece a los usuarios la oportunidad de cerrar los procesos para evitar algunos reinicios del sistema.
Cuadro de diálogo MsiRMFilesInUse Proporciona a los usuarios la opción de usar el administrador de reinicio para cerrar y reiniciar las aplicaciones. Disponible a partir de la versión 4.0 de Windows Installer.
Propiedad ReplacedInUseFiles Establece si el instalador se instala a través de un archivo en uso. Las acciones personalizadas usan esta propiedad para detectar que se requiere un reinicio.
MSIRESTARTMANAGERCONTROL Propiedad para deshabilitar la interacción de Windows Installer con el administrador de reinicio. Disponible a partir de la versión 4.0 de Windows Installer.
MSIDISABLERMRESTART Especifica cómo el administrador de reinicio cierra y reinicia las aplicaciones. Disponible a partir de la versión 4.0 de Windows Installer.
MSIRMSHUTDOWN Especifica cómo el administrador de reinicio cierra y reinicia las aplicaciones. Disponible a partir de la versión 4.0 de Windows Installer.
MsiSystemRebootPending El instalador establece esta propiedad si hay pendiente un reinicio del sistema operativo. Disponible a partir de la versión 4.0 de Windows Installer.
DisableAutomaticApplicationShutdown Directiva para deshabilitar la interacción de Windows Installer con el administrador de reinicio. Disponible a partir de la versión 4.0 de Windows Installer.

 

ERROR_INSTALL_SUSPEND significa que la instalación no se completó ni se revirtió. La instalación debe reanudarse antes de que se complete. Es posible que el sistema deba reiniciarse antes de que se pueda reanudar la instalación.

Windows Installer devuelve el código de error ERROR_INSTALL_SUSPEND cuando se ejecuta la acción ForceReboot. Devuelve ERROR_SUCCESS_REBOOT_REQUIRED si se requiere un reinicio antes de ejecutar la aplicación y devuelve ERROR_SUCCESS_REBOOT_INITIATED si el instalador ha iniciado realmente un reinicio. Tenga en cuenta que, dado que los reinicios son asincrónicos, el reinicio puede producirse realmente antes de que se devuelva el código de error. Para más información, consulte Códigos de error.

Las acciones personalizadas pueden forzar un aviso de reinicio al final de una instalación mediante una llamada a MsiSetMode. Las acciones personalizadas también pueden comprobar si hay un mensaje de reinicio pendiente llamando a MsiGetMode.

Cuadro de diálogo FilesInUse

El instalador puede determinar cuándo es necesario reiniciar el sistema y solicitar al usuario una solicitud de reinicio. Normalmente, se requiere un reinicio del sistema porque el instalador está intentando instalar un archivo que está en uso actualmente. Si la acción InstallValidate detecta la instalación de un archivo en uso, muestra el cuadro de diálogo FilesInUse.

Si espera que el instalador muestre un archivo FilesInUseDialog, pero no lo hace, esto puede deberse a uno de los siguientes motivos:

  • Los archivos en uso no son ejecutables.
  • El instalador no está intentando instalar realmente esos archivos.
  • El proceso que contiene esos archivos es el proceso que invoca la instalación.
  • El proceso que contiene esos archivos es aquel que no tiene una ventana con un título asociado a él.

Para más información, consulte Registro de solicitudes de reinicio.