It trying to harvest some COM registration information from a couple of 
COM servers, one a DLL and one an EXE. I'm trying to use heat, and it 
seems to work for the DLL but not completely for the EXE.
For the DLL I get a TypeLib element containing an AppId containing Class 
elements, and the TypeLib also contains Interface elements. All of the 
things I expect to get registered do get registered.
For the Exe, I just get a TypeLib containing Interface elements, No 
AppId and no Class elements.

Looking at the heat code, it's unclear which of the methods are being 
used to extract this information. It seems to try Assembly harvesting 
first, then self registration, then type library harvesting. Since the 
output for the DLL isn't a list of registry keys as I would expect would 
be generated by the self registration harvester, I assume that the 
Assembly Harvester is being used (though If I use Tallow -c on the dll I 
get an error about it can't load the assembly with a 
BadImageFormatException "The module was expected to contain an assembly 
manifest, so maybe not). But then trying to read the code I don't see 
how TypeLib, Interface entries etc are being generated anyhow, so I 
guess I'm probably making it up.

Since the type library harvester seems to use the RegisterTypeLib API 
call I checked the contents of the type library using OleView, and it 
does show up my classes etc.

Any ideas?

This is my first experience of trying to write COM components and get 
them installed and it all seems desperately complicated. Maybe I'm 
missing something.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to