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

Reply via email to