当我们从BO XI R2迁移到BO XI 4.0时,从DEV服务器(WIN2003服务器,32位)卸载了BOXI R2,并安装了新的BO XI 4.0。之后,当我打开我的网络应用程序时,我得到以下错误:
由于以下错误,检索CLSID为{C0C99FA5-E1D3-494E-BE0C-73C19424F91C}的组件的COM类工厂失败:80040154类未注册(HRESULT中的异常:0x80040154(REGDB_E_CLASSNOTREG))。描述:在执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误以及错误在代码中的来源的更多信息。异常详细信息:System.Runtime.InteropServices.COMException:由于以下错误,检索CLSID为{C0C99FA5-E1D3-494E-BE0C-73C19424F91C}的组件的COM类工厂失败:80040154类未注册(HRESULT中的异常:0x80040154(REGDB_E_CLASSNOTREG))。
我尝试手动注册dll:
regsvr32 "C:Program FilesSAP BusinessObjectsSAP BusinessObjects Enterprise XI 4.0win32_x86ClientDoc.dll"
得到以下错误:
LoadLibrary("C:\Program Files\SAP BusinessObjects \SAP BusinessObjects Enterprise XI 4.0\win32_x86\ClientDoc.dll")失败-对内存位置的访问无效。
请求任何有关此方面的帮助。
注意:在本地机器(winxp)中,webapp运行良好,没有任何问题。
问题原因:与CA(Computer Associates)Autosys和SAP Business Objects XI 4.0使用不同版本的"crypteme2.dll"发生冲突。
CA文件的位置:C:\Program Files\CA\SC\ETPKI\lib\cryptome2.dll[其他信息:文件版本:不可用,时间戳:2/29/2012 9:43 PM,大小3188 KB]SAP文件的位置:D:\Program Files\SAP BusinessObjects \SAP BusinessObjects Enterprise XI 4.0\win32_x86\cryptome2.dll[其他信息:文件版本3.0.0.0,时间戳:2011年2月25日下午6:55,大小:1704 KB]
解决方案:
- 将dll C:\Program Files\CA\SC\ETPKI\lib\cryptome2.dll重命名为cryptome2_CA.dll
- 已将D:\Program Files\SAP BusinessObjects \SAP BusinessObjects Enterprise XI 4.0\win32_x86\cryptome2.dll复制到C:\Program Files\CA\SC\ETPKI\lib\
- 已卸载BO XI 4.0 SDK(通过控制面板),因为之前未正确安装
- 重新启动盒子
- 已停止IIS管理服务器
- 然后将BO XI 4.0 RAS 32位Dot-Net SDK安装到D:\Program Files\SAP BusinessObjects
现在webapp运行良好。