Currently I have an MSI which performs a major upgrade, and it is launched as:
msiexec.exe /i installer.msi /qn REBOOT=ReallySuppress
My question is regarding that particular property REBOOT=ReallySuppress: does this mean it will not restart the system but will do proper changes (if applied) when user reboot her system manually? Or will it simply ignore those things that require to restart the system?
The installer performs all the operations. The value ReallySuppress
of REBOOT
property, or /norestart
option, simply suppress system restart, if it's needed. And msiexec.exe exit code would be 3010 (ERROR_SUCCESS_REBOOT_REQUIRED
) to indicate to the calling application that system restart is required.
The files that were in use during installation will have been moved out of the way and will be permanently deleted when system restarts. It is recommended to restart the system as soon as possible because until then some processes will be using the old (locked) files whereas new processes will be using the new, updated files, so there is room for ambiguity, especially since there may be registry changes as well. As such the /noreboot option is useful when you have several packages to install and you want to reboot after the last one, but only if it's absolutely necessary. Just ignoring the reboot prompt is not a good way to go.