0

我有一个带有 2 个类型库并使用 Visual Studio 2008 开发 PC(XP SP2 32 位)的第 3 方组件“ArchesrA.MxAccess.dll”(由 corgflags 在 x86 上构建)。

当我在代码中创建类的实例时,它会抛出 COMException - 80040154。

以下我尝试过的解决方案:

  1. RegSVR32 DLL,但无法注册。作为“找不到入口点”。

  2. Regtlib 类型库,成功

  3. regasm DLL,成功。

  4. 编译器模式在 x86 上。

  5. 错误的 CLSID 在注册表中有条目:HKCR\CLSID\ 并指向此 DLL。

请帮忙。我从 3 天开始就在寻找解决方案。

开发。


regasm with codebase 使用 codebase 进入并指向文件名,它是成功的。也用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

运行时版本 = V1.1.4322

这是否意味着我需要安装 1.1 框架?

4

1 回答 1

0

WonderWare技术支持的答案是需要部署“系统平台”。

所以它是初始化 COM 之前的基本身份验证(检查系统平台及其许可证的部署)。

向 GACUtil 注册很有帮助。COM 有时不会自行注册。

再次感谢。

于 2012-02-14T06:10:11.303 回答