As I suspected, I brought up a clean machine and put the vcredist_x86.exe on 
it.  I then had the same behavior where loading B.DLL in depends resolved the 
sxs dll's but loading A.DLL which then loaded B.DLL failed to resolve the sxs 
dll's unless I created a manifest for A.dll telling it that it had 
dependencies that B.dll had.
 



----- Original Message ----
From: Christopher Painter <chr...@deploymentengineering.com>
To: gree...@cox.net; General discussion for Windows Installer XML toolset. 
<wix-users@lists.sourceforge.net>
Sent: Tue, June 8, 2010 7:23:55 AM
Subject: Re: [WiX-users] C++ Dependency Help

I agree with you.  I worked here before some 5 years ago and I had a huge 
battle with a coworker where he wanted to use the sxs\system32 msm's provided 
my Microsoft and I wanted to add the vcredist packages to our bootstrapper.   I 
finally relented because I was sick of fighting and they have been in the 
baseline ever since.   I've been back for 1.5 years now and it just wasn't a 
huge priority to me to refactor it since the dependencies are for some ugly 
legacy stuff we have.

I'll try it but I'm thinking it still won't work because although the 
redist packages will populate all the various versions in the winsxs,  B.DLL 
when loaded through A.DLL still doesn't seem to have the insight to know 
what version to pull.    Still, I'll try it and report back what I find.

BTW I also find it interesting that because A.DLL is a mixed mode assembly with 
dependencies on .NET 3.5 SP1 which in turns have prereq of XP SP2  that it's 
getting harder and harder to define what a "stripped down" XP machine is these 
days.  I remember a day when it meant Win 95a with nothing else installed. :-)
 

----- Original Message ----
From: "gree...@cox.net" <gree...@cox.net>
To: General discussion for Windows Installer XML toolset. 
<wix-users@lists.sourceforge.net>
Cc: Christopher Painter <chr...@deploymentengineering.com>
Sent: Mon, June 7, 2010 7:23:52 PM
Subject: Re: [WiX-users] C++ Dependency Help

To make things even more interesting, sometimes there are type library and COM 
dependencies.  Also some DLL's could be delay-loaded or dynamically linked to.  

The Sysinternals depends tool is a great help.  It is best just to bootstrap 
the C++ runtime (.MSI) packages.  Avoid the merge modules if at all possible.  
I personally believe that merge modules for system dlls will create a lot of 
problems.  You might just try installing the C++ runtimes for each flavor of 
Visual C++ (2005, 2008, etc) used.

Try the installs on a beefed up Windows 7 VM with all the bells and whistles 
and then a stripped down XP Pro/Home VM and see what works,  Your can beat 
yourself endlessly trying to result secondary/tertiary/... depencies ad infitum.

Regards,
Aris Green


---- Christopher Painter <chr...@deploymentengineering.com> wrote: 
> 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

Reply via email to