The first iteration of this patch caused a number of calculation issues as noted in the KB article http://support.microsoft.com/kb/943985/
However, even after v2 was released, a number of our users still reported problems. So after removing the patch from our SMS patch packages, I still had to come up with a way of uninstalling it.
The most difficult part of this process is determining the product and patch GUIDs.
If you’re sure your entire environment has the same version of Office 2003, this is a snap. Simply open up the registry editor on any machine and navigate to: “HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall” and you’ll see a number of GUIDs there. Check each one until you find your installation of Office.
Most Office 2003 Pro installations use:
91110409-6000-11D3-8CFE-0150048383C9
Most 2003 Standard uses:
91120407-6000-11D3-8CFE-0150048383C9
The explanation of this numbering scheme can be found at: http://support.microsoft.com/kb/832672/
In an enterprise environment however, you can have a number of different versions and since I’ll be performing this via SMS 2003, that’s what I’ll be using to ensure I kill every instance of the patch.
To determine what installations of Office 2003 are out there, run this SQL query:
select distinct DisplayName0, ProdID0 from v_Add_Remove_Programs Where DisplayName0 like ‘%office%edition%2003%’
For me, this yielded 41 different GUIDs and 4 different products: Basic, Small Business, Standard and Professional. Yikes.
But all we care about is this part of the GUID: “6000-11D3-8CFE-0150048383C9” since all Office 2003 products will share that.
Now the GUID for this particular patch can be retrieved from “Add/Remove Programs”. Check the “Show Updates” box, find the patch and click “Support Information” which yields: {EA642B1A-F243-48FC-8103-D355065F7676}.
Now that we’ve got all the information necessary, we need a script that can determine what version of Office 2003 is installed and insert that into the uninstall command. The one provided here, works with Office 2003 only. It can be easily modified to included other versions if you need that.
KB943985 Uninstaller Script
While this script is specialized for this particular patch, it can be modified to uninstall any uninstallable patch as it uses the “RemovePatches” method which calls Windows Installer.
To determine if a patch is uninstallable, check here: http://msdn.microsoft.com/en-us/library/aa372102(VS.85).aspx