I'll repeat it again, in case it got missed earlier.

I'd recommend looking at the output of sxstrace to see why it's not 
locating the assemblies you expect.  That should be enlightening.  I'd 
expect it to tell you exactly where it looked and why it didn't find what 
it was looking for (including what exact versions and such it was 
searching for).

Kelly




"Wilson, Phil" <phil.wil...@invensys.com> 

06/08/2010 05:08 PM
Please respond to
"General discussion for Windows Installer XML toolset." 
<wix-users@lists.sourceforge.net>


To
General discussion for Windows Installer XML toolset. 
<wix-users@lists.sourceforge.net>
cc

Subject
Re: [WiX-users] C++ Dependency Help






It's really a bit worse than that! What's in the manifest in the program 
is useful, but if there's a policy manifest in WinSxS that redirects it, 
beware of that. I believe that the VC Redists will install policy 
manifests that redirect callers up to the latest. If you install using 
merge modules you may or may not have included the policy merge modules. 
For example on my Server 2003 system I have this for the VC80 runtime in a 
policy file:

<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" 
processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
<bindingRedirect oldVersion="8.0.41204.256-8.0.50608.0" 
newVersion="8.0.50727.4053"/>
<bindingRedirect oldVersion="8.0.50727.42-8.0.50727.4053" 
newVersion="8.0.50727.4053"/> 

Phil Wilson 


-----Original Message-----
From: gree...@cox.net [mailto:gree...@cox.net] 
Sent: Tuesday, June 08, 2010 10:57 AM
To: General discussion for Windows Installer XML toolset.
Cc: Wilson, Phil
Subject: Re: [WiX-users] C++ Dependency Help

I would only add dependencies in the manifest for immediate dependencies 
only .  Don't add dependencies for B to A.  For the mixed mode C++ dlls, 
they'l  depend on their .NET assemblies they consume along with the 
version of the C/C++ runtime that their flavor of Visual Studio depends 
on. 

For mixed mode .NET C++, there is always a manifest dependency to the C++ 
runtime DLL's, there is no static linking to the C++ runtime.  Also, it is 
a Win SxS dependencies.  Check the manifest (RT_MANIFEST) resource using 
the Visual C++ resource editor.  Make sure that the C++ runtime you 
install matches that of the manifest in the .NET DLL (A or B).  This is 
not the .NET manifest, it is a resource inside the DLL.  The Win SxS 
assemblies are native assemblies. 

I have been burned by this before.  You might want to review the MSDN docs 
on the Win SxS cache.  They have been around since Windows XP.  They will 
help out a lot.  By looking at the RT_MANIFEST resource embedded in the 
C++ DLLS, you will find out EXACTLY which Win SxS dlls are being 
referenced.  You may need to add stuff to the manifest for the C++ DLLs 
for C++ specific stuff.

Regards,
Aris

---- "Wilson wrote: 
> If you have a recent version from http://www.dependencywalker.com (at 
least version 2.2, I think) it handles SxS. 
> 
> 
> Phil Wilson 
> 
> 
> 
> -----Original Message-----
> From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
> Sent: Tuesday, June 08, 2010 5:17 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] C++ Dependency Help
> 
> Hmmm, I've not experienced depends / sxs issues in the past so I love 
to fill in the knowledge gap possibly exposed by that question.  And no, 
all my CA's are written in C# using DTF.  
> 
> I'm told the application is broken.   I did create a manifest for A.DLL 
telling it had dependencies of the versions that B.dll had it helped 
depends to resolve them.  I haven't tried doing this in the actual 
application though.  I've also noticed that if I just deploy the 
unresolved DLL's privately they end up being found.   This of course 
introduces other concerns such as not being able to service those dll's 
through microsoft hotfixes.   Perhaps this is acceptable though?
> 
>  My bigger concern though is how normal is it to go from a 
managed assembly to a mixed mode assembly to a native assembly where A and 
B are built and running against different versions of the C++ runtime.   
I'm ignorant in this area ( my only C was ANSI C on Solaris 10+ years ago 
) so I don't know if this is normal or red flag stuff. 
>  
> I'm thinking about posting this on stack overflow but I was hoping to 
get an answer from someone versed in both C++ and deployment 
considerations.    
> 
> 
> ----- Original Message ----
> From: dB. <dbl...@dblock.org>
> To: General discussion for Windows Installer XML toolset. 
<wix-users@lists.sourceforge.net>
> Sent: Mon, June 7, 2010 8:39:05 PM
> Subject: Re: [WiX-users] C++ Dependency Help
> 
> Isn't depends simply busted for WinSxS?
> 
> I assume the application doesn't run? Just in case, if those A.DLL and 
B.DLL are custom actions this won't work - you have to install the CRTs 
outside of the MSI (something about loading per-process).
> 
> dB. @ dblock.org 
> Moscow|Geneva|Seattle|New York
> 
> 
> -----Original Message-----
> From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
> Sent: Monday, June 07, 2010 7:01 PM
> To: wix-users@lists.sourceforge.net
> Subject: [WiX-users] C++ Dependency Help
> 
> I have a C++ dependency issue that I'm trying to figure out. 
> 
> A.DLL depends on:   ( compiled by us using VS2008 )
>     MSCOREE.dll  
>     KERNEL32.dll
>     MSVCM90.DLL 9.0.21022.8 
>     MSVCR90.dll 9.0.21022.8 
>     MSVCP90.dll 9.0.21022.8
>     B.DLL
> 
> B.DLL depends on:  ( compiled by third party using VS2005 )
>     WS2_32.dll
>     KERNEL32.dll
>     MSVCR80.dll 8.0.50727.4053
>     MSVCP80.dll 8.0.50727.4053
> 
> In my installer I'm currently using the microsoft merge modules to 
deploy the c/c++ 8/9 dll's to winsxs.   Here's where it 
get's interesting:   If I open B.DLL in depends it resolves all DLL's.  If 
I open A.DLL in depends it resolves A's dependencies but for B it says 
that it can't find the MSVCR80 or MSVCP80.  If I copy these two DLL's into 
the application directory it finds them ( even if it's the wrong version 
).
> 
> I have a hunch what's going on here but I'd really hope that someone who 
really understands it could lead me to enlightenment and best practices 
for this type of problem.
> 
> Thanks,
> Chris
> 
> Christopher Painter, Author of Deployment Engineering Blog
> Have a hot tip, know a secret or read a really good thread that deserves 
attention? E-Mail Me
> 
> 
>       
> 
> 
------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
> lucky parental unit.  See the prize list and enter to win: 
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
> lucky parental unit.  See the prize list and enter to win: 
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
> 
> 
> 
> 
------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
> lucky parental unit.  See the prize list and enter to win: 
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
> *** Confidentiality Notice: This e-mail, including any associated or 
attached files, is intended solely for the individual or entity to which 
it is addressed. This e-mail is confidential and may well also be legally 
privileged. If you have received it in error, you are on notice of its 
status. Please notify the sender immediately by reply e-mail and then 
delete this message from your system. Please do not copy it or use it for 
any purposes, or disclose its contents to any other person. This email 
comes from a division of the Invensys Group, owned by Invensys plc, which 
is a company registered in England and Wales with its registered office at 
Portland House, Bressenden Place, London, SW1E 5BF (Registered number 
166023). For a list of European legal entities within the Invensys Group, 
please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77&nav_id=80&prev_id=77
. You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail 
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may 
be subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries 
and affiliates).
> 
> 
> 
> 
------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
> lucky parental unit.  See the prize list and enter to win: 
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users



*** Confidentiality Notice: This e-mail, including any associated or 
attached files, is intended solely for the individual or entity to which 
it is addressed. This e-mail is confidential and may well also be legally 
privileged. If you have received it in error, you are on notice of its 
status. Please notify the sender immediately by reply e-mail and then 
delete this message from your system. Please do not copy it or use it for 
any purposes, or disclose its contents to any other person. This email 
comes from a division of the Invensys Group, owned by Invensys plc, which 
is a company registered in England and Wales with its registered office at 
Portland House, Bressenden Place, London, SW1E 5BF (Registered number 
166023). For a list of European legal entities within the Invensys Group, 
please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77&nav_id=80&prev_id=77
. You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail 
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may 
be subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries 
and affiliates).

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




**************************************************************************************
This communication is intended solely for the addressee and is
confidential. If you are not the intended recipient, any disclosure, 
copying, distribution or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. Unless indicated
to the contrary: it does not constitute professional advice or opinions
upon which reliance may be made by the addressee or any other party,
and it should be considered to be a work in progress. Unless otherwise
noted in this email or its attachments, this communication does not form 
a Statement of Actuarial Opinion under American Academy of Actuaries guidelines.
**************************************************************************************
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to