无法将MSCOMCTL.OCX添加到VB6,Office没有问题

无法将MSCOMCTL.OCX添加到VB6,Office没有问题,vb6,Vb6,我知道,关于这个控件已经有无数的线程了,我已经读了好几个小时了。我无法将此ocx添加到运行64位Win7的VB6中 我已经尝试过的事情: 1. unregistering and re-registering (used regsvr32 from syswow64) 2. Did the regtlib msdatsrc.tlb thing I've found 3. Reinstalled sp6 4. Installed the cumulative update everyone is

我知道,关于这个控件已经有无数的线程了,我已经读了好几个小时了。我无法将此ocx添加到运行64位Win7的VB6中

我已经尝试过的事情:

1. unregistering and re-registering (used regsvr32 from syswow64)
2. Did the regtlib msdatsrc.tlb thing I've found
3. Reinstalled sp6
4. Installed the cumulative update everyone is saying is the latest version
我还没有重新安装VB6,我没有工作的媒体,或者我会有,但是这从来都不是解决这个问题的方法,在过去的几天里,我读到了关于成功修复的文章,我一直在研究这个问题

需要注意的是,人们在其他线程中没有提到的事情:我可以将ocx毫无疑问地添加到Office,然后添加控件(treeview、imagelist等)并很好地使用它们。我无法将OCX添加到新的空VB6项目中。大多数用户都试图打开现有的项目,这对我来说也是失败的,但从来没有说他们是否可以将OCX添加到新项目中。我不能

我不想再创建一个这样的线程来进一步搅浑水,但其他线程中的解决方案对我来说并不奏效,也没有人提到他们可以在哪里将其添加到Office或新项目中

几个月前,这种方法还可以很好地发挥作用,但此后发生了太多的事情,以至于无法找出可能导致这种情况的原因。我的主要关注点是能够再次将其添加到新项目中

谢谢

编辑:
VB正在提升的XP SP3兼容模式下运行。

找到了解决方案。我不知道它是怎么来的,但我在我的注册表中注册了3个不同的版本。可能VB尝试使用的版本不兼容,但与Office兼容?我不知道

这就是我所做的


我打开注册表(regedit.exe),搜索831FDD16-0C5C-11D2-A9FC-0000F8754DA1,发现列出了三个不同的版本。当然,我对要更改的部分进行了备份,然后删除了所有版本条目。在那之后,我返回并注册了我在syswow64目录中的内容,现在它恢复正常了。重新检查注册表显示我现在只安装了2.2版。

您没有提到以管理员/兼容模式运行VB,您尝试过吗?@GSerg是的,它正在提升的XP SP3兼容模式下运行。有点旧,但您可能想查看一下。当您尝试加载ocx时,是否尝试了浏览功能并直接从syswow64文件夹中选择它?选择时是否会出错?什么错误-部件未注册等?appcompat垫片对此没有任何影响。不要使用它们,因为大多数抓取包“兼容性模式”添加操作系统版本也会导致很多问题。我的另一个ocx控件也有类似的问题,当我浏览我的syswow64文件夹、选择最新版本、删除旧版本时,我也发现了多个副本,之后使用此控件的所有应用程序都工作正常。