Roy,

Try below code. It should work This will take care of REGASM.

<File Id="fil_abc.dll"   Source="\abc.dll" >
          <TypeLib Id='{54EEBB27-9602-4172-8081-6C19A0ADFFB2}'  
MinorVersion='0' Language='1033'></TypeLib>
</File>


You can use Assembly=".net", if you want it to be GACed also

Thanks
Jaspreet Singh

________________________________________
From: Roy Chastain [...@roychastain.org]
Sent: Wednesday, September 09, 2009 6:34 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] How to install/register a managed (clr) com object

I am using Wix 3.0 release.

I have a managed dll that has a class exposed to com.  The normal
registration process for this dll is
Regasm /codebase /tlb dllname.dll
 AND if on a x64 bit system
Regasm64 /codebase /tlb dllname.dll

This works when the dll is not in the GAC.  If the dll is placed in the
GAC, then /codebase is removed from both calls.  I have tested and I
cannot activate the object without the typelib being registered also
(/tlb option).

I have seen people discussing a custom action calling regasm and I have
seen discussion about using ComPlusAssembly.  I saw a post by Rob
(response to
http://stackoverflow.com/questions/373436/how-do-i-install-a-net-dll-int
o-a-com-application-using-msi-wix) that indicated (at least at one time)
that there was an issue in the custom action created by the
ComPlusExtension in which it only did the 32 bit registration.  The link
(marked update) at the top of the post to a closed bug
(http://sourceforge.net/tracker/?func=detail&aid=1914217&group_id=105970
&atid=642714) seems to indicate that x64 registration still does not
work.  The bug references a dll built for x64, but in my case it is
probably even harder to get right because the dll with the com object is
built for AnyCPU, which is what allows my two calls to regasm(64) to
work correctly and allows my object to be activated from both 32 bit and
64 bit code.

What is the BEST way to get the equivalent of the two calls to
regasm(64) done?  If it is to use the ComPlusAssembly as a child of the
Component with Assembly=".net" so that the dll is placed into the GAC,
where should the type lib file be placed?  One would think it should go
into the GAC, but how do I get it there?

Thanks

----------------------------------------------------------------------
Roy


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

***The information transmitted is intended only for the person or entity to 
which it is addressed and may contain confidential and/or privileged material. 
Any review,retransmission,dissemination or other use of, or taking of any 
action in reliance upon, this information by persons or entities other than the 
intended recipient is prohibited. If you received this in error, please contact 
the sender and delete the material from any computer.***

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to