Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What is the meaning of this MSDN paragraph re. patching?

1 view
Skip to first unread message

Tony

unread,
Apr 28, 2008, 8:45:59 PM4/28/08
to
The link to relevant MSDN Library Windows installer documentation is:

http://msdn2.microsoft.com/en-us/library/aa368061(VS.85).aspx

<QUOTE>
The following scenario illustrates when a small update patch is best.

Your company ships version 1.0 of Myproduct.msi. Shortly thereafter,
you ship a small update patch for Myproduct.msi called QFE1. This does
not change the ProductCode property or the ProductVersion property.

Later, you author a second small update patch for Myproduct.msi called
QFE2. This second patch must target Myproduct.msi version 1.0. This
second patch must not target both Myproduct.msi version 1.0 and
Myproduct.msi version 1.0 + QFE1. When QFE2 is applied it should
remove QFE1.
</QUOTE>

Questions:

Why is it that the second patch can not target both? In particular,
some install toolsallow multiple patch targets. Is that Ok? What are
they doing to allow for multiple patch targets? Do MS Installer Team
people support that officially, unoficially or half-officially?

How should QFE2 remove QFE1 when applied? Is user supposed to go to
the list of updates (Add/Remove programs, Show Updates checkbox on XP,
separate page on Vista) and remove QFE1 herself?

Thanks for any input!

Adrian Accinelli

unread,
Apr 29, 2008, 1:31:46 PM4/29/08
to
"Tony" <ton...@gmail.com> wrote in message
news:1491e09a-e533-4012...@24g2000hsh.googlegroups.com...

This topic was created for Windows Installer 2 timeframe (prior to patch
sequencing being introduced in version 3) but I believe the idea is that
QFE2 is a superset of QFE1 and as such should remove QFE1 (this would be
through obsoleting rather than supersedence). If QFE2 acts on a different
set of files than QFE1 then they can live side by side happily. That said
ServicePack 1 should supersede both QFE1 and QFE2 unless they actually
target Service Pack 1 in addition to the RTM version.

The best source for patching information I think is the whitepaper on
patching released by Windows Installer team for version 3. It's long and
detailed and you should read it about ten times to let it soak in properly
:)

http://www.microsoft.com/downloads/details.aspx?FamilyID=AD7AC91E-2493-4549-AE6F-BF5E007C12A3&displaylang=en

Sincerely,
Adrian Accinelli


Tony

unread,
Apr 29, 2008, 5:04:44 PM4/29/08
to
On Apr 29, 1:31 pm, "Adrian Accinelli"
> http://www.microsoft.com/downloads/details.aspx?FamilyID=AD7AC91E-249...
>
> Sincerely,
> Adrian Accinelli- Hide quoted text -
>
> - Show quoted text -

Thanks Adrian!

Initially I was working with Service Pack 1 and saw that it removes
previously applied patches as expected.

I also read your comment in another post, that there is no true
supersedence for small update patches, so I was wondering if a new
patch (rather than Service pack) removes the preceeding one or do I
have to explicitly invoke msiexec to remove it. But after testing,
everything worked as expected.

Another important thing was to create patches so that they always
target the RTM, rather than the preceeding patch.

Adrian Accinelli

unread,
Apr 29, 2008, 7:31:51 PM4/29/08
to
"Tony" <ton...@gmail.com> wrote in message
news:c2c018fb-d007-4bf2...@8g2000hse.googlegroups.com...

> On Apr 29, 1:31 pm, "Adrian Accinelli"
> <hclnospamali...@newsgroup.nospam> wrote:
>> "Tony" <ton...@gmail.com> wrote in message
>> news:1491e09a-e533-4012...@24g2000hsh.googlegroups.com..
>> Sincerely,
>> Adrian Accinelli- Hide quoted text -
>> - Show quoted text -
> Thanks Adrian!
> Initially I was working with Service Pack 1 and saw that it removes
> previously applied patches as expected.
> I also read your comment in another post, that there is no true
> supersedence for small update patches, so I was wondering if a new
> patch (rather than Service pack) removes the preceeding one or do I
> have to explicitly invoke msiexec to remove it. But after testing,
> everything worked as expected.
> Another important thing was to create patches so that they always
> target the RTM, rather than the preceeding patch.


Definitely come up with a set of your own "rules" for building and deploying
of patches. Otherwise you can easily get into no man's land and have to
bend over to make new patches work correctly.

For building I force my hotfixes to apply to ALL preceding images including
RTM. For deploying I tell support and hence customers that they are free to
deploy Service Packs through administrative images or by directly installing
the MSP on workstations. However hotfixes are never be applied to
administrative images but rather should always be deployed directly to each
workstation. If they break from this they put themselves into a position
where future patches can end up with 1328 errors... so while it is a
"suggestion" it ends up being a rule.

Sincerely,
Adrian Accinelli


Tony

unread,
Apr 30, 2008, 10:26:20 AM4/30/08
to
On Apr 29, 7:31 pm, "Adrian Accinelli"

I guess there is some terminology confusion (certainly in my case)
regarding what targeting all the preceeding images means. Namely,
whether I am creating patch QFE1 or QFE2 I always set RTM as my
target, in the sense of MSI path that is listed in PCP TargetImages
table.

So, from that perspective I am always targeting RTM.

However, due to sequencing I can apply QFE2 directly to RTM or to RTM
patched with QFE1. In the latter case installer appears smart enough
to know that it needs to remove QFE1 before applying QFE2.


0 new messages