2012-01-24 41 views
0

我有一個第三方組件「ArchestrA.MxAccess.dll」(它是在x86上由corgflags構建的),帶有2個類型庫並具有開發PC(XP SP2 32位)使用Visual Studio 2008檢索具有CLSID的組件的COM類工廠 - 80040154

當我在代碼中創建一個類的實例,它拋出收到COMException - 80040154

以下解決方案我曾嘗試: 1. REGSVR32的DLL,但它不能註冊。作爲「未找到入口點」。 2. Regtlib類型庫,成功 3.重新生成DLL,成功。 4.編譯器模式在x86上。 5.出現錯誤的CLSID在註冊表中有:HKCR \ CLSID \並指向此DLL。

請幫助。我正在尋找解決方案,因爲3天。

Dev。


regasm with codebase make entry with codebase and pointing to file name,it is successful。也使用GACUtill註冊了dll,它成功了。

但同樣的錯誤即將到來。

我procmon中無法找到的條目中

"HKCR\CLSID\{c30...}\" 
<TreatAs>, <InprocServerX86>, <LocalServer32>, <APPID> 

和相同

"HKCU\Software\Classes\CLSID\{C30..}\". 

唯一可用的條目是

1. {CLSID}\InProcServer\Default,Assembly,Class,codebase,RuntimeVersion 

2. {CLSID}\InProcServer\2.0.0.0\Default,Assembly,Class,codebase,RuntimeVersion 

runtimeVersion = V1.1.4322

是它的意思是我需要安裝1.1框架?

回答

0

WonderWare 技術支持的答案是 需要部署「系統平臺」。

因此在初始化COM之前它是基本身份驗證(檢查系統平臺及其許可證的部署)。

註冊GACUtil很有幫助。 COM有時不註冊。

再次感謝。

相關問題