【问题标题】:VB6 in Windows 10 can't Implements IDTExtensibility2Windows 10 中的 VB6 无法实现 IDTExtensibility2
【发布时间】:2016-08-29 17:02:27
【问题描述】:

我仍然维护着许多旧的 VB6 应用程序,其中一些是 Implements IDTExtensibility2 的 ActiveX Dll。

今天我在 Windows 10 上打开其中一个,尝试运行它,Implements IDTExtensibility2 行被突出显示,并出现消息“编译错误:Visual Basic 不支持自动化类型”。

我用 Windows 7 创建了一个 VirtualBox,安装了 VB6,同样的项目运行没有问题。

我已经使用 Windows 10 好几个月了,我不太可能从未打开过任何旧的 ActiveX Dll 项目,但我不记得我是否打开过。我的感觉是我做到了,它正在工作,最近它被打破了,但我不确定,因为它们是旧项目,我很少打开它们以进行最少的维护。

不幸的是,我仍然需要维护那些古董。我需要在 Windows 7 虚拟机中进行维护吗?还是我有机会让它在 Windows 10 中运行?

【问题讨论】:

  • 这只是 IDE 中的一个工件吗?即它们是否真的在 Windows 10 上运行?在项目引用中,托管基本接口的 dll 是否正确列出?
  • @AlexK。旧的 dll 注册并在同一台机器上运行。我可以毫无问题地打开项目。检查属性和引用我没有发现任何问题。当我尝试运行时,它会显示帖子中提到的消息

标签: vb6 windows-10 activex


【解决方案1】:

如果@stenci SP6 重新安装解决方案不起作用的替代修复:

打开一个管理命令窗口。发出以下命令:

regsvr32 /u "c:\Program Files (x86)\Common Files\DESIGNER\MSADDNDR.DLL"
regsvr32 "c:\Program Files (x86)\Common Files\DESIGNER\MSADDNDR.DLL"

与其他解决方案一样,您可能需要在 Windows 10 更新后重新应用此修复程序。

这个修复让我再次开始使用我的 VB6 插件项目。

【讨论】:

  • 使用 regsvr32 对我有用,而且比卸载或重新安装 SP6 快得多。
【解决方案2】:

我终于找到了解决方案:我安装了错误的 Service Pack 6 版本。

安装正确的版本解决了问题,现在我终于可以(遗憾地)在 Windows 10 上使用 VB6。

可以从这里下载正确的版本:https://www.microsoft.com/en-us/download/confirmation.aspx?id=7030

编辑

当微软推送更新时,问题再次弹出。尝试重新安装服务包失败,显示有关虚拟网络文件夹的消息。

为了解决Windows更新后的问题,请右键单击从上面链接下载的文件,卸载,然后双击它重新安装,一切都很好,直到下一次Windows更新。

【讨论】:

  • 请注意,您无法从 Windows 10 应用程序和功能面板的 UI 中卸载此程序包 - 按钮显示为灰色!您必须右键单击 msi 文件,或使用 Powershell 删除。
  • 很遗憾,这在 Windows 10 版本 1803 中对我不起作用。我不知道如何解决这个问题。不过,很棒的帖子。
猜你喜欢
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-10
  • 2021-04-21
  • 1970-01-01
相关资源
最近更新 更多