Mike, thanks so much for the reply, your response helped push me in the right
direction.
You are correct I did mean a regular old COM component.
Thanks!
Lindsay Harris
From: Mike Dimmick [mailto:[EMAIL PROTECTED]
Sent: Monday, February 19, 2007 1:28 PM
To: Lindsay Harris; wix-users@lists.sourceforge.net
Cc: Rajive Kumar
Subject: RE: [WiX-users] Com registration using tallow
I'm assuming that you actually mean a regular old COM component written with
ATL, rather than 'COM Interop' which to me means a .NET component registered
with COM.
tallow -c is for use with .NET assemblies. It won't work with unmanaged
components.
tallow -reg is for use with REGEDIT-style .reg files. An ATL .rgs file is not
compatible.
tallow -s is what you use to deal with legacy COM components which use
self-registration - it sets up 'canary' registry keys then calls the DLL's
DllRegisterServer function, then records the result. However, this is somewhat
of an alien environment - the canary keys are completely empty, which means
that various things don't work. All you can do is debug the component under
tallow (i.e. set the executable to debug to be tallow.exe itself, passing the
DLL on the command line - you want native, not managed, debugging).
Tallow is meant to be an assistant. For components written in C++, you have
absolute control over what the self-registration code does. If you've not
altered Visual Studio's template code, you can probably work out the right
registry entries from the IDL and .rgs file. The <Class> and <Typelib> elements
make the work a bit easier. I would suggest setting @Advertise="no" so that WiX
generates Registry table entries, rather than using the Class and Typelib table
(the latter of which is deprecated in any case). You'll need to understand
tallow's output to maintain it anyway.
--
Mike Dimmick
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lindsay Harris
Sent: 13 February 2007 23:42
To: wix-users@lists.sourceforge.net
Cc: Rajive Kumar
Subject: [WiX-users] Com registration using tallow
Hi, I have a question about using wix to author an installer package.
I am trying to register a com interop, from all of the reading I have done I
understand that I shouldn't use AssemblyRegisterComInterop="yes" and I
shouldn't call a custom action that uses regsvr32.
So what I SHOULD do if I understand correctly, is use tallow.exe to extract the
specific registration and then include that in my wix xml file. However, I am
having some problems using tallow.
I have tried: tallow -c myAssembly.dll, but I get a Failed to load Assembly,
System.BadImageFormatException.
I have also tried: tallow -s myAssembly.dll to try to get the registry keys
but I then get a Failed to SelfReg error. (which is strange because I can
manually use regsvr32 to register it on this same machine).
I have also tried tallow - reg myRegFile.rgs, but I then just get an empty wix
fragment, which is strange because the rgs file is not empty.
Any advice as to what I'm doing wrong, or where I should go from here would be
greatly appreciated,
Thanks!
Lindsay Harris
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users