Задний план:
Я хотел бы извлечь данные COM из приложения VB6, чтобы я мог правильно зарегистрировать (в соответствии с передовой практикой Microsoft) приложение. Я использую WiX 3.0, и heat.exe не будет извлекать данные (известная проблема с нагревом), и у меня нет готового доступа к связанному файлу TLB. В приложении VB6 не включена совместимость, поэтому оно повторно генерирует идентификаторы GUID COM при каждой сборке (они хотят, чтобы приложение могло работать вместе со старой версией).
Я создал приложение C #, которое будет собирать информацию о TypeLib, интерфейсе и CoClass из приложения VB6 без регистрации и создавать файл wxs для использования свечи. У моей компании есть несколько других подобных приложений, и я хотел бы сделать его более универсальным.
Проблемы:
1. Есть ли способ получить «истинный» идентификатор ProgID (предназначенный для программиста) из приложения без проекта или файла TLB и без его регистрации?
2. Есть ли способ узнать предполагаемую модель потоков из библиотеки DLL без ее регистрации? (Я предполагаю, что он может обрабатывать все активные элементы COM, с таким же успехом может быть полным) Спасибо.