必须采取哪些措施来解决80040154 Class not registered execption

时间:2017-01-25 11:27:05

标签: c# sap-gui

仅当我尝试在目标计算机上运行项目时,我才面临以下错误

  

[ERROR] ExecuteTestScriptsOnSAP_GUI:检索COM类工厂   用于CLSID的组件{B90F32AD-859E-4EDD-BFAE-C9216849520C}   由于以下错误导致失败:80040154类未注册   (HRESULT异常:0x8004015 4(REGDB_E_CLASSNOTREG))。

它似乎在我的开发机器上运行良好。

我正在尝试从我的项目中启动SAP gui 7.40,并且它引用了Interop.SAPFEWSELib.dll

上面的.dll文件是在sapfewse.ocx首次添加为项目的依赖项时构建的。

有人可以指导我如何解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

我暂时无法发表评论,因此只能回答。

可能是您通过Interop.SAPFEWSELib.dll消耗的控件sapfewse.ocx未在目标计算机上注册。

检查注册表HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID,并在开发计算机上找到B90F32AD-859E-4EDD-BFAE-C9216849520C的类。 InProcServer32密钥应该告诉您已注册组件的路径。确保在目标计算机上部署和注册此组件。

希望指出你正确的方向。

答案 1 :(得分:0)

如果您使用的是32位操作系统计算机,那么

" C:\ Windows \ System32下\ REGSVR32.EXE" / i" OCX的路径"

或64位然后" C:\ Windows \ SysWOW64 \ regsvr32.exe"

如果双击目标计算机上的.ocx,则应提示您选择要完成操作的程序。浏览到相关的regsvr32.exe,然后它会为您注册。

但看起来你的ocx来自第三方SDK?因为它位于开发机器上的c:\ program files(x86)\ sap \ frontend \ sapgui \中。您是否在目标计算机上安装了此SDK?如果没有..这样做,这将为您安装和注册组件。