Retrieve COM ProgID from exe without registering it

Posted by mangelo on Stack Overflow See other posts from Stack Overflow or by mangelo
Published on 2010-05-05T02:58:05Z Indexed on 2010/05/05 3:08 UTC
Read the original article Hit count: 401

Filed under:
|
|

Background:

I would like to extract the COM data from a VB6 application so I can register it correctly (according to Microsoft best practice) the application. I am using WiX 3.0 and heat.exe will not extract the data (known issue with heat) and I do not have ready access to the associated TLB file. The VB6 application does not have compatibility turned on so it regenerates the COM GUIDs every build (They want to have the application be able to run side by side with an older version.)

I created a C# application that will collect the TypeLib, interface and CoClass information from the VB6 application without registering it and create a wxs file for candle to use. My company has several other older applications like this and I would like to make it a more generic solution.

The Issues:

1.Is there a way to collect the 'true' ProgID (programmer intended one) from the application with out the project or TLB file and without registering it?

2.Is there a way to find out the intended Threading Model from a DLL without registering it? (I intend that it can handle all COM active items, might as well be complete) Thank you.

© Stack Overflow or respective owner

Related posts about wix3

Related posts about c#