Software Deployment Question

Determining if MS Office updates are superceeded

11/20/2012 2414 views


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.



0 Comments   [ + ] Show comments


Be the first to answer this question

This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ