, у меня есть собственный COM-сервер на C ++, который предоставляет COM-интерфейсы. Я могу успешно использовать собственное клиентское приложение C ++ для получения и использования открытых интерфейсов с сервера.
Когда я использую клиент .net со ссылкой на сервер, я получаю сообщение об ошибке:
Получение фабрики классов COM для компонента с CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} не удалось из-за следующей ошибки: 80080005 Ошибка выполнения сервера (исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
... даже несмотря на то, что COM-сервер запускается и работает успешно (и запускается всего за 1-2 секунды).
НО я получаю указанную выше ошибку только тогда, когда сервер зарегистрирован как локальный сервер. Если я зарегистрирую сервер как службу Windows, клиент .net сможет успешно получать и использовать интерфейсы без проблем.
Я делаю все это как администратор в 64-битной Windows 7. COM-сервер находится на локальной машине.
Я проверил приведенную ниже цепочку, но мне не было предложено ответов: Не удалось получить фабрику COM-классов для компонента с CLSID {XXXX} из-за следующей ошибки: 80080005
На данный момент потрачено полтора дня на эту ... в чем может быть проблема?
Подробнее информация:
Я работал с vs2005. Я недавно обновился до vs2010 и теперь столкнулся с этой проблемой. Я пробовал создать инфраструктуры таргетинга на клиентов .net 2.0, 3.5 и 4.0 с теми же результатами.
Спасибо