Determining if MS Office updates are superceeded
I am creating a program that scans Office (or I suppose any msp) update(s) and determines whether it is superceeded by other updates.
Normally I check for update A's Patch Code by reading the Revision Number property of the Summary Information and checking it against updates B's list. I know with Windows Installer 3 and upwards if a patch contains the MsiPatchSequence table these obsolete codes are ignored (see here: http://msdn.microsoft.com/en-gb/library/windows/desktop/aa371255%28v=vs.85%29.aspx ) but this method works about 95% of the time. I am trying to get it to work 100%.
According to Microsoft (here: http://msdn.microsoft.com/en-gb/library/windows/desktop/aa370350%28v=vs.85%29.aspx ) if the attribute value for the patch family in the MsiPatchSequencetable is set (i.e 1) then this update supersedes the updates provided by all patches with lesser Sequence values in the same PatchFamily as long as the update does not also update multiple patch families.
During my testing I have found this not to be the case, with this example
KB980373 - Security Update for Microsoft Office Outlook 2003 and
KB2449798 - Update for Microsoft Office Outlook 2003
The patch guid from KB980373 is found in the Revision number property of KB2449798
Both patches cover the same patch families (ol and outlook)
Both patches have the MsiPatchSequencetable with the attribute set to 1 (assumes they superceed lesser updates)
KB980373 has a lesser sequence (8325 vs 88330 for KB244979)
Using information from Microsoft Update Catalog KB980373 replaces KB953432 and two others, whereas KB2449798 only replaces KB953432. So my thinking is KB2449798 replaces KB980373.
When I skip KB980373 and check Microsoft Update for Office updates KB980373 is listed as required. *confused*
If get the information by reading properties from the msp's MsiPatchMetadata and MsiPatchSequence tables but was wondering if there was any other information I should be extracting to base the comparison on.
I anyone has reasd this far and can advise I would appreciate the help and assistance.
There are no answers at this time