我有一個本機c + + COM服務器,公開COM接口。我可以成功地使用本地C++客戶端應用程序來獲取和使用服務器公開的接口。。COM接口COM服務器失敗,0x80080005
當我使用.NET客戶端與服務器保持一個參考,我得到的錯誤:
Retrieving the COM class factory for component with CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
...即使COM服務器啓動並運行成功(而且只需要大約1或2幾秒鐘啓動)。
但是,只有當服務器註冊爲本地服務器時纔會出現上述錯誤。如果我將服務器註冊爲Windows服務,則.net客戶端可以成功獲取並使用這些接口。
我正在做所有這些,作爲Windows 7 64位的管理員。 COM服務器在本地機器上。
我檢查下面的線程,但都沒有提供答案:一天在這一個至今一個半...可能是什麼問題 Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80080005
用在何處?
更多信息:
我曾與vs2005工作。我最近更新到vs2010,現在正在處理這個問題。我試過用相同的結果構建.net客戶端目標框架2.0,3.5和4.0。
感謝
你的COM服務器是32位的嗎?你運行的是64位.NET CLR嗎? – Rup 2011-05-18 13:31:51
COM服務器是32位的。我已經構建了專門用於x86的.net客戶端...還有什麼需要針對32位CLR? – Ken 2011-05-18 14:06:27
這可能與單個或多個服務器實例有關嗎?當註冊爲服務時,一切正常。客戶端可以連接到服務器並完成他們的工作。當註冊爲本地服務器時,每次嘗試客戶端連接都會啓動服務器的新實例,然後發生0x80080005錯誤;所以在幾次測試之後,我有幾個服務器運行的實例,而不是一個。 – Ken 2011-05-20 14:24:04