关于WIN7下VB6中Microsoft Windows Common Controls 6.0 (SP6)加载提示“对象库未注册”的一种办法

来源:互联网 发布:overture mac 编辑:程序博客网 时间:2024/05/16 15:52

    如题,安装了某些软件可能影响注册表的内容,从而导致某些控件不能被VB6开发环境加载,而这些控件是的确存在的。无论怎么注册都无济于事。百度“vb6 对象库未注册”可以搜索到很多办法,但亲测后发现,没一个管用的。诸如卸载office再装office、反注册后替换合适版本的mscomctl.ocx,最后只剩下重装系统后首先装VB这样的办法了。

    经过两天的探索,觉得注册表的嫌疑是最大的。可是为什么重装VB都不能修正这个问题?不管了,既然问题在于注册表,就修改注册表!从同样环境,不存在上述问题的机器上导出注册表与现有的比对,终于发现问题:

    所有{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}下的一个项2.0下面,少了一个键值:PrimaryInteropAssemblyName,其值为mscomctl, Version=10.0.4504.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

    之后还有一个地方,HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Visual Basic\6.0下面,看是否有{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0这样的子项,若没有,添加一个。其默认值为C:\Windows\SysWow64\MSCOMCTL.oca

    修改后,打开VB6,发现一切正常!

原创粉丝点击