У меня есть унаследованное приложение VB6, которое вызывает вызовы для компонента COM +, написанного на C# (с таргетингом на .NET Framework v2) для связи по протоколу TCP/IP.Ошибка при вызове компонента COM + в Windows 8.1
Этот режим работы работал в различных операционных системах и был успешно развернут в среде Windows XP, Vista и 7.
Я только что начал тестировать программное обеспечение в Windows 8.1, и когда приложение VB6 пытается выполнить вызовы на COM + -компонент, он сообщает об ошибке автоматизации. Эти ошибки в прошлом были вызваны ошибкой регистрации COM + и быстро исправлены путем ручного регистрации компонента COM + с использованием regsvcs.exe
.
Программное обеспечение установлено и MSI, который также запускает скрипт, который вызывает regsvcs.exe для регистрации компонента COM +. Для Win 8.1 Мне пришлось изменить путь regsvcs.exe
от:
C:\Windows\Microsoft.NET\Framework\v2.0.50727
To:
C:\Windows\Microsoft.NET\Framework\v4.0.30319
Я проверил эту установку на обоих Win 7 и Win 8.1. В Win 7 COM + звонки работают нормально. Проблема, с которой я сталкиваюсь в Win 8.1, заключается в том, что компонент COM +, похоже, зарегистрирован правильно, однако вызовы на компонент все еще не работают. Все выглядит нормально в Component Services, и приложение COM + запускается при вызове VB6, но ошибка автоматизации возвращается и вызов завершается с ошибкой.
Примечание: среды Win 7 и 8.1, на которых я тестирую, - 64 бит.
Похоже, что что-то, что связано с приложениями компонентов и приложениями COM +, изменилось между Windows 7 и Windows 8.1, но я не могу найти решение.
Кто-нибудь испытал что-то подобное или какие-либо указатели на то, что может быть проблемой?