参照的汇编没有安装在系统上错误导致ocx注册失败的解决方法

最近使用一个分词ocx控件时,发现其在某些机器上可以注册成功,但是某些机器上不能注册成功。

执行注册时: regsvr32 xxx.ocx 报错。查看其事件日志,发现问题如下:

 

Resolve Partial Assembly 为 Microsoft.VC80.DebugCRT 失败。 参考错误消息: 参照的汇编没有安装在系统上。

Generate Activation Context 为 D:/Share/Temp/xocx/aa_xl_word.ocx 失败。 参考错误消息: 参照的汇编没有安装在系统上。

 

在网上查了一下,最有用的信息来自于下列链接:

http://www.msdns.org/archive/1960/posts/196056989.shtml

 

简要说,其原因在于Microsoft.VC80.DebugCRT并不存在于要注册的机器上,而该组件是vs2005所带的库文件,所以解决方法有三个:

1. 安装VS2005,这样会将必要的Debug版MSVCR80.DLL 等装到WinSxS目录。

2. 直接将/program files/microsoft visual studio 8/vc/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT及Microsoft.VC80.DebugMFC及其minfest文件拷贝到你的DLL所在目录中。

3. 编译Release版的控件,这样就上述提及的DLL文件。

 

本人采用第3种方法,ocx注册问题轻松解决。实际上,那些Debug版能注册成功的机器恰好就是装有VS.net的开发机器,所以都装有上述所提及的必要的系统库文件。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值