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