VB6 Runtime : раздел реестра: Typelib\{000204EF-0000-0000-C000-000000000046}
является частью Visual Basic 6 Runtime
и является известной проблемойв WiX heat.exe
извлечение данных COM ошибочно приводит к этому ключу реестра для каждого компонента ActiveX или COM. Обратите внимание, что это не ошибка WiX, а общая проблема с VB6 .Отсюда и проблема, которую вы видите в проектах установки Visual Studio.
Из справочного руководства WiX (для heat.exe) (многоцелевой инструмент, одним из которых является извлечение регистрации COM): " ... При регистрации компонента COM, созданного в VB6, он добавляет записи реестра, которые являются частью компонента среды выполнения VB6. Этот флаг рекомендуется для компонентов VB6, чтобы избежать взлома VB6время выполнения при удалении. Исключаются следующие значения: CLSID\{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}
, Typelib\{EA544A21-C82D-11D1-A3E4-00A0C90AEA82}
, Typelib\{000204EF-0000-0000-C000-000000000046}
, любые интерфейсы, которые ссылаются на эти две библиотеки типов`"
Разрешение : А теперь самая сложная часть, каково же решение?Честно говоря, сейчас у меня нет времени на тестирование, но я полагаю, что вы можете просто открыть финальный MSI с помощью Orca и удалить эти записи - если они будут там.Я думаю, это именно то, что вы делаете сейчас, так что вы вернулись к исходной точке, но, по крайней мере, есть некоторая ясность относительно того, что вызывает проблему.I suppose you can try to run the build when the VB6 component is unregistered as opposed to when it is registered?
Какой смысл в том, что он извлекает ключи только в том случае, если компонент не зарегистрирован при сборке?If this is the case, maybe try to self-register your VB6 component prior to the setup build
.
RegSpy.exe : Вы можете использовать инструмент под названием RegSpy (или RegSpy2 на самом деле), чтобы извлечь регистрацию COM из файла COM.Вы можете найти exe-файл в папке «Release», затем перейдите:
regspy.exe richtx32.ocx >> richtx32.reg
Затем вы можете импортировать reg-файл в ваш проект установщика Visual Studio.Не забудьте заменить жестко закодированные пути свойствами каталога MSI и удалить ошибочные записи VB6, упомянутые выше.
VSProj : в Visual Studio Right click Visual Studio Installer Project
=> View
=> Registry
=> Right Click Top Node
=> Import...