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