coapp-developers team mailing list archive
-
coapp-developers team
-
Mailing list archive
-
Message #01271
Re: SXS question
Okay then, thanks for the reply.
It all started when I tired to run an exe on a machine which months ago I put
incorrect dlls *manually* put into the sxs folders that 'depends' said it was
needing. All to avoid having to create an install. I fixed that, but...
Next thing I uncovered was a confusing process that the same exe was using
different sxs locations on different OS's. I just had to understand why.
Several hours and a serious education later... :-)
-Scott
________________________________
From: Garrett Serack <garretts@xxxxxxxxxxxxx>
To: Scotty <myuta1@xxxxxxxxxxxxx>; "coapp-developers@xxxxxxxxxxxxxxxxxxx"
<coapp-developers@xxxxxxxxxxxxxxxxxxx>
Sent: Tue, February 28, 2012 6:07:13 PM
Subject: RE: [Coapp-developers] 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)
G
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?
Example:
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
References