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")

             Dim objInstaller

             Dim strVersion

             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.

Long story short, please be sure that your Windows is up-to-date. Windows Update and/or Microsoft Download Center  is there and waiting for you ;-)

(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 :-)