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


------------------------------------------------------------------------------
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