2011-09-26 14 views
7

Actualmente tengo una MSI que realiza una actualización importante, y se puso en marcha como:silenciosa de Windows Installer de instalación sin necesidad de reiniciar automáticamente

msiexec.exe /i installer.msi /qn REBOOT=ReallySuppress 

Mi pregunta se refiere a que la propiedad particular REINICIAR = ReallySuppress: ¿significa no reiniciará el sistema, pero hará los cambios apropiados (si corresponde) cuando el usuario reinicie su sistema manualmente? ¿O simplemente ignorará aquellas cosas que requieren reiniciar el sistema?

Respuesta

10

El instalador realiza todas las operaciones. El valor ReallySuppress de la propiedad REBOOT o /norestart option, simplemente suprime el reinicio del sistema, si es necesario. Y el código de salida msiexec.exe sería 3010 (ERROR_SUCCESS_REBOOT_REQUIRED) para indicar a la aplicación llamante que se requiere el reinicio del sistema.

Los archivos que estaban en uso durante la instalación se habrán apartado del camino y se eliminarán permanentemente cuando se reinicie el sistema. Se recomienda reiniciar el sistema lo antes posible porque hasta entonces algunos procesos utilizarán los archivos antiguos (bloqueados) mientras que los nuevos procesos usarán los archivos nuevos y actualizados, por lo que hay margen para la ambigüedad, especialmente porque puede haber registro cambios también. Como tal, la opción/noreboot es útil cuando tiene que instalar varios paquetes y desea reiniciar después de la última, pero solo si es absolutamente necesario. Ignorar el mensaje de reinicio no es una buena forma de hacerlo.

+0

Gracias por su respuesta Alexey, me pregunto dónde encontraste esta información, porque en la documentación de Windows Installer (http://msdn.microsoft.com/en-us/library/windows/desktop/aa372024(v=vs .85) .aspx) No pude encontrar nada como esto. ¡Saludos! –

+0

@Santiago Sí, esta página no lo menciona. Sin embargo, es la forma en que funciona. Viene de la experiencia. –

+1

@Stephen Acepto que Windows Installer puede reemplazar archivos en uso, aunque generalmente no lo hace debido a la ambigüedad entre las versiones de DLL. Si fue reemplazado, entonces no sería necesario reiniciar. Raymond Chen explica [por qué Windows no reemplazará los archivos en uso] (http://technet.microsoft.com/en-us/magazine/2008.11.windowsconfidential.aspx "Windows puede pero no quiere"). En Windows 7, Windows Installer usa * Restart Manager * para evitar que el sistema se reinicie donde pueda * evitarlo * con seguridad. –

Cuestiones relacionadas