I asked this on this list because I know the WiX community has a lot of members who are strong in the ways of C++. I'm afraid that if I asked in another group or StackOverflow type site I'll get answers of low quality since most developers (sadly) don't take deployment serious. I think the quality of your answer validated this and I appreciate your help. I'm going to:
1) Refactor my installers to get rid of those Micrsoft runtime merge modules and use the vcredist packages instead 2) Push back on development and tell them that I did 1 and that what they are trying to do is a bad idea and not supported by my team. Thanks, Chris ----- Original Message ---- From: dB. <dbl...@dblock.org> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Tue, June 8, 2010 8:17:38 AM Subject: Re: [WiX-users] C++ Dependency Help I assume you've installed both crt redist EXE's from 8 and 9. That is the only "correct" way of deploying these. Generally two runtime dependencies is a crapshoot. There's magical code in the CRT that deals (unsuccessfully) with this kinds of scenarios and depending in which order they load it may do the wrong thing. This is how it used to work, but last time I saw CRT code was before SxS, so don't take what I say as the truth. I would take A.dll that you control and roll back to the same version of the CRT as the dependency that you don't control, or vice-versa. And I am confused too. I think this doesn't belong on the wix list, maybe a platform sdk discussion group. dB. @ dblock.org Moscow|Geneva|Seattle|New York -----Original Message----- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Tuesday, June 08, 2010 9:03 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] C++ Dependency Help Hmm, think I just stumbled into the depends / winsxs that you are talking about. I noticed that I had depends 2.1 so I upgraded to 2.2 and suddenly the findings were different. For 2.1, when I loaded B.dll it resolved everything. Now in 2.2 it finds MSVCR80.dll and MSVCP80.dll but then says MSVCP80.dll can't find MSVCR80.dll. Huh? It just found MSVCR80.dll up a level. I'm confused now. 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 ----- Original Message ---- From: Christopher Painter <chr...@deploymentengineering.com> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Tue, June 8, 2010 7:17:21 AM 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 ------------------------------------------------------------------------------ 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