一个组件注册失败引发的惨案

CoCreateInstance of OLE control {83489345-D20C-4059-A1DB-0BCC2D912F77} failed.

>>> Result code: 0x80040154

>>> Is the control is properly registered?

就是这么个问题,浪费了我好久的时间,期间系统重装了几遍,环境也重新配置了几遍,然而并没有什么卵用,问题就在那,不离不弃。今天在一个人的帮助下,又重新研究起了这个问题(因为我们这个项目是第三次开发,并且之前开发的开发人员还不是我们公司,所以项目里的好多东西都不知道是干什么的)。我们这个项目组中就有一个人的代码编译后是能够正常运行的,然而我们的源代码又是同一套,所以绝对不会是源代码的问题,至于环境,我们也配置了几遍,所以是它的可能性非常小,所以我们同时编译运行两套源代码,发现执行到这个问题模块时,我们的电脑都会出现上面那个问题,然而他的很正常,并没有出现这个问题,同时还有一个奇怪的现象,他的输出中在加载了这个问题模块的dll文件后,突然加载了F盘下的某个ocx文件,而我们的项目并不在F盘上,所以考虑是不是这个ocx文件导致了这个问题,我将这个ocx文件拷贝到我的电脑上并注册,然而,失败了,上网搜了搜注册失败的解决办法,成功了,最后,程序正常运行,bug已经解决掉了。

提示:既然是要注册的ocx文件,所以要将这个文件放到不经常更改路径的地方,同时也需要放置被不小心删除掉,所以建议将要注册的dll或者是ocx文件放置到C盘目录下。

总结:对于组件注册的问题,很大程度上并不一定是当前dll文件出现的问题,应该继续跟踪,看看这个dll是否又加载了别的dll或者ocx。注册时,应该注意权限的问题,之前注册失败就是因为权限的问题(Windows7下对权限管理还是很严格的),所以尽量不要用regsvr32 + 路径 这种在运行中注册的办法  最好是以管理员权限运行cmd,在cmd中执行命令进行注册。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值