Rob,
In his post he mentions he's able to sucessfully deploy the two files together to the GAC using GacUtil so I don't think there's any problems with how the DLL's are currently built. I will admit I don't fully understand this aspect of the GAC but I do that back around 2006 I did do an installer for an application that had this story as part of it's deployment. Chris ---------------------------------------- From: "Rob Mensching" <r...@robmensching.com> Sent: Monday, January 16, 2012 11:30 AM To: "Daniel Wenqing Cai" <danielw...@yahoo.com>, "General discussion for Windows Installer XML toolset." <wix-users@lists.sourceforge.net> Subject: Re: [WiX-users] GAC .NET assembly along with its dependent .DLL library Companion file means something very specific in the Windows Installer. It will not do what you want. The error you are seeing GAC'ing multiple files is also standard Windows Installer behavior. To do this, I think you'd need to find a way to correctly manifest the related DLL so that it too can live in the GAC. I expect you'll need to dig pretty deep into Fusion (aka: WinSxS) to understand if that is even possible. Good luck! On Sun, Jan 15, 2012 at 5:49 PM, Daniel Wenqing Cai <danielw...@yahoo.com>wrote: > Thanks for your reply. > > I am actually using CompanionFile attribute to indicate the relationship. > > Here are the snippet for the .NET assembly and the dependent library > without brackets. > File Id="msid40.dll" Name="msid40.dll" Source="..\..\lib\msid40.dll" > KeyPath="no" Vital="yes" CompanionFile="MyHelper_GAC_FILE" > > File Id="MyHelper_GAC_FILE" Name="MyHelper.dll" KeyPath="yes" > Source="$(var.MyHelper.TargetPath)" Assembly=".net" > > What I noticed is, when the two files reside in different components, it > simply doesn't do anything with the dependent library. When the two files > reside in the same component, the installation fails with the following > error. > > An error occurred during the installation of assembly 'MyHelper.dll, > version="1.0.0.0", culture="neutral", publicKeyToken="xxxx"'. Please refer > to Help and Support for more information. > > Thanks, > Daniel > > > ________________________________ > From: Christopher Painter <chr...@iswix.com> > To: Daniel Wenqing Cai <danielw...@yahoo.com>; General discussion for > Windows Installer XML toolset. <wix-users@lists.sourceforge.net>; > wix-users@lists.sourceforge.net > Sent: Sunday, January 15, 2012 4:31 PM > Subject: re: [WiX-users] GAC .NET assembly along with its dependent .DLL > library > > > I haven't done this with WiX but I have done it with InstallShield. In > that case instead of making the unmanaged DLL a keyfile of it's own > component I made it a companion file of the managed assembly that was being > installed to the GAC. > > In that situation MSI and/or .NET (fusion API) figured out the > relationship and the two files were published atomically into the GAC as > expcted. > > I don't see the wxs snippet that you say followed so I'm not sure what you > are currently doing in WiX. > > > > > ________________________________ > From: "Daniel Wenqing Cai" <danielw...@yahoo.com> > Sent: Sunday, January 15, 2012 5:10 PM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] GAC .NET assembly along with its dependent .DLL > library > > Hi, > > I am new to WiX. I have a special situation that I need some help. > > My problem is, my .NET assembly needs to be deployed to GAC, but the > assembly has a dependency on a third-party unmanaged library which is > written by Microsoft. I need to deploy the .NET assembly to GAC, at the > same time, the unmanaged library should go to the same GAC folder. > > I have tried many different options with no success. The following is the > trimmed down version of my .wxs file. > > <Directory Id="DummyGACFolder" Name="DummyGACFolder"> > > <Component Id="MSID40_GAC" > Guid="6D399A09-0D8C-4C21-B69B-F4A369D168C5"> > <File Id="msid40.dll" Name="msid40.dll" > Source="..\..\lib\msid40.dll" KeyPath="no" Vital="yes" > CompanionFile="MyHelper_GAC_FILE" /> > </Component> > <Component Id="MyHelper_GAC" > Guid="0A9E1305-4BC1-4E2E-8AF9-92C18E561C60"> > <File Id="MyHelper_GAC_FILE" Name="MyHelper.dll" > KeyPath="yes" Source="$(var.MyHelper.TargetPath)" Assembly=".net" /> > </Component> > </Directory> > I also tried different combinations of AssemblyApplication and > AssemblyManifest, none of them seems to serve this purpose. > > I have been able to use GACUTIL /i MyHelper.dll command line to deploy > them together to GAC without problem. I can see the two files (MyHelper.dll > and msid40.dll) in the GAC folder. > > The above .wxs does deploy MyHelper.dll to GAC, but not the dependent > library (msid40.dll). > > Can someone please point me to the right direction? > > Thanks, > Daniel > > ---------------------------------------------------------------------------- -- > RSA(R) Conference 2012 > Mar 27 - Feb 2 > Save $400 by Jan. 27 > Register now! > http://p.sf.net/sfu/rsa-sfdev2dev2 > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ---------------------------------------------------------------------------- -- > RSA(R) Conference 2012 > Mar 27 - Feb 2 > Save $400 by Jan. 27 > Register now! > http://p.sf.net/sfu/rsa-sfdev2dev2 > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > -- virtually, Rob Mensching - http://RobMensching.com LLC ---------------------------------------------------------------------------- -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users