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

Reply via email to