← Back to team overview

coapp-developers team mailing list archive

Re: SXS question


You've kinda got that backward.

When SxS looks for an assembly, it first looks for a *policy* with the same major/minor version, and sees if there is a redirection in play.

It then looks for the forward most version to apply and uses that for the manifest.

Older policy manifests don't really know about newer policies ones.

So when it is looking for a policy on your machine, it starts with 30729 and if that policy applies, it uses it (so it's not checking each policy, just the highest that matches)


From: coapp-developers-bounces+garretts=microsoft.com@xxxxxxxxxxxxxxxxxxx [mailto:coapp-developers-bounces+garretts=microsoft.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Scotty
Sent: Tuesday, February 28, 2012 3:23 PM
To: coapp-developers@xxxxxxxxxxxxxxxxxxx
Subject: [Coapp-developers] SXS question

After reading the 'FearTheCowboy' Faq, I was impressed with the simplicity that was applied, as I am a newcomer to this.
So I signed up for CoApp, not sure of what I can contribute or extract from it.  But I now turn to this mailing list in the hopes of an answer to my question.
I have already spent several hours trying to get a Phd in WinSXS, while really looking for one and only one question answered.

I ran the same C++/Mfc app on two machines.  An XP and a Win7.  'Depends' (not the diaper) gave me different loaded SXS dlls on the different machines.
My app said it uses MFC 21022.8 in it's internal manifest.  I checked it.

So, my question is:
Does the SXS system always go for the highest version number in the SXS list of manifests?  Ignoring the application manifest, provided it's lower then what's installed?

The Win7 machine had a public policy file, but the policy under 21022 said to take 20718.0 (and above)  and go to 21022.8
The policy under 30729 said to take  20718.0 (and above) and go to 30729, plus take 30201.0 (and above) and go to 30729.1

So, since my app said use 21022 in it's internal manifest, Windows looked under 30729 to decide what to do...?
If that's the case, it seems like a waste of file searching to me.  Seems the 21022 Policy file should say to go to 30729, and save time.

Thanks for any feedback.

Scott Weber

Follow ups