4

此错误来自编译 vb6 dll 的机器,该 dll 突然停止工作并且以前可以正常工作。

我在网上看到了很多我能找到并与我相关的解决方案。包括从http://www.xtremevbtalk.com/archive/index.php/t-140158.htmlhttp://www.excelfox.com/forum/f2/missing-mscomctllib-15中看起来很有希望的这些 /

这两个都建议重新注册 MSCOMCTL.OCX

但是在遵循这两个之后,我仍然遇到了问题。经过数小时的搜索和尝试不同的事情后,我意识到由于公司政策,已经安装了一些更新并等待重新启动机器。

答案

我重新启动机器并等待更新完成安装。之后,dll编译没有问题。

4

4 回答 4

13

在安装了一些 Windows 更新(包括升级到 IE10)和 VS2012 Update 3 后,我遇到了同样的问题,但更新已完全安装,并且 MSCOMCTL.OCX 已经 COM 注册。在我发现有关此问题的另一篇 StackOverflow 帖子中,这终于为我解决了:

以管理员身份运行命令提示符

在 64 位系统上导航到 C:\Windows\SysWOW64,或在 32 位系统上导航到 C:\Windows\system32

执行“regtlib msdatsrc.tlb”(不带引号)

归功于“自动”: 更新 KB 2687323 后 VB6 IDE 无法加载 MSCOMCTL.OCX

我在这里发布,因为您是搜索此错误时的第一个结果。

于 2013-09-23T20:32:19.860 回答
2

如果计算机在某个时候正在编译 dll/ocx 但不再编译,则此答案应该有效,但如果您的计算机也从未编译过它,则该答案也可能有效。

所以这个问题的简单答案是检查您的机器是否有等待重新启动的挂起更新。

如果是这样,请确保您重新启动计算机。

如果重启后问题仍然存在,请尝试重新注册 MSCOMCTL.OCX,它应该在您的 windows 子目录中;c:\windows\system32c:\windows\ SysWOW64 。请注意,您使用 regsvr32 注册 ocx

于 2012-09-27T05:46:41.600 回答
1

我有 Windows Server 2008 R2(64 位),我遇到了同样的问题,我得到了通过,如下所示:

  1. 转到路径 C:\Windows\Microsoft.NET\Framework\v4.0.30319
  2. 执行“regtlibv12 msdatsrc.tlb”(不带引号)
于 2017-05-19T11:39:13.693 回答
0

我在一台生产计算机上遇到了这个问题。它是一台新格式化的 PC,其操作系统为 Windows XP。在撰写本文期间,我们知道 Windows XP 不再提供更新。我所做的是,我安装了 VB6,因为我可以访问该软件,之后,我安装了VB6 Service Pack 6并纠正了错误。我必须安装 VB6 Enterprise,因为安装服务包需要安装上述 IDE 中包含的数据。

于 2017-04-21T07:38:25.377 回答