Upgrading Firefox with MSI packages
Recently I took it upon myself to ensure that all users in my region had an up to date version of Firefox installed on their computer. We could tell from the automated audits that they had it installed, but we could also see they weren’t updating it when required. This may be through lack of use, ignoring the update prompts, or something else. Ultimately though, we should be takingcare of it.
Step in the Frontmotion Firefox Package. In a handy MSI package, we can use Zenworks to push it out to any clients we like. There’s one snag though. Even if you tell it to distribute in the workstation security space, if the program is open whilst the upgrade is in progress, Windows will still arbitrarily reboot once the upgrade is complete. The msiexec process handily ignores /norestart option that Zenworks passes to it, rendering the ‘silent upgrade’ method pretty much broken.
There is, however, a cure. The properties of the procedure can be changed at runtime with some key value pairs. Just put REBOOT=ReallySuppress on the command line, or set the property appropriately in the Zenworks package. If you’re wondering where this is, using ConsoleOne, check the MSI tab, and the Properties drop down.
Ultimately, Zenworks will run something approaching this command…
msiexec /passive /i Firefox-3.6.6-en-GB.msi REBOOT=ReallySuppress
This prevents the Windows Installer from rebooting the machine, and as Firefox can gracefully handle itself until it’s restarted it also allows the user to carry on working as normal with minimal interruption to service.