One of our customers had reported that when they tried installing a decent Microsoft XML related patch from a Microsoft Security Bulletin, it was not allowing them to use the usual command line switches like "/norestart" "/quiet" etc. on some of their machines.
As you know "Windows Installer" is a windows service running(1) on all Windows machines which is helping the packages packed with Windows Installer. Microsoft patches/hotfixes are also packaged using Windows Installer.
Sometimes, system administrators may need to use command line switches while deploying those patches to lots of machines and they might need to use those command line switches in their network scripts(2) .
You can find the details in MSDN http://msdn.microsoft.com/en-us/library/aa372024(VS.85).aspx?ocid=soc-n-[TR]-loc-[Services]-[farukc] for all the command line switches available.
I asked our customer to run the VBScript below to have their Windows Installer version :
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objInstaller = CreateObject("WindowsInstaller.Installer")
strVersion = objInstaller.Version
MsgBox("Installer version is: " & strVersion)
and we got 2.00.3790.0 and it was a very old version of the Windows Installer. Windows Installer "2.0" version had released with Windox SP RTM/SP1 , Win2K SP3, Win2K3 RTM .
Asked customer to apply the latest service pack for the failing machines and see that switches started working again on the failing machines without issues.
(1) : Maybe saying the services stays there in not started mode but it switches "Started" state when needed.
(2) : Needless to say, some system admins are already using "Microsoft System Center Configuration Manager" , and don't experience such issues 🙂