假设 vb6 无法在 Windows 8 上运行,因为 VB6 运行时库未随 Windows 8 一起提供,那么是否无法在 Windows 8 上安装 VB6 运行时库然后运行 VB6?还是有其他问题?
13 回答
编辑:微软将在 Windows 8 中支持VB6 运行时。
截至 2011 年 9 月 13 日,VB6 应用程序仍可在 Windows 8 的 Developer Preview 中运行)。. 它们还在 Consumer Preview 中运行,如上所述,Microsoft 致力于让 VB6 仅在 Windows 8 中运行。
这是一个很难真正回答的问题,但我会尽力提供最好的回答。
我们真的不确定,因为它尚未发布并且可能仅处于开发的早期阶段。也无法预测可能会出现什么样的黑客攻击以允许 VB6 应用程序在 Windows 8 上运行。我相当有信心,社区提出某种解决方法只是时间问题,如果你真的那么担心。如果纯粹出于好奇,我什至可能会自己研究一下。
但是,官方的说法是可能不支持此配置:
...没有计划在 Windows 7 之后的未来版本的 Windows 中包含 VB6 运行时。
还值得考虑有关仅以 64 位版本发布的 Windows 8 的讨论(与 Server 2008 R2 一样)。由于 VB6 运行时(以及由 VB6 编译器创建的所有应用程序)都是 32 位的,因此它们必须在模拟的 32 位层 (WOW) 中运行。一些应用程序在 64 位版本的 Windows 7 中运行时已经遇到问题,而且这个问题可能只会变得更糟。IDE 目前在 64 位版本的 Windows 上不受支持,这使得遗留应用程序的持续维护变得更加困难(尽管它的价值,我只是将它安装在运行 Server 2008 R2 的开发盒上,没有任何问题)。
Microsoft 于 2012 年 1 月更新了他们的支持声明。看来 VB6 将在 Windows 8 中得到支持。
VB6 运行时将在操作系统的整个生命周期内发布并在 Windows 8 中得到支持。Visual Basic 6.0 运行时文件继续只有 32 位,所有组件都必须托管在 32 位应用程序进程中。开发人员可以认为 Windows 8 的支持故事与 Windows 7 的支持故事相同。
微软上个月宣布,它将在 Windows Vista、Windows Server 2008、Windows 7 和(最重要的)Windows 8 的整个生命周期内扩展 Visual Basic 6 应用程序的“It Just Works”兼容性。如 Visual Basic 6.0 资源中心所述,“这些操作系统的整个生命周期都将支持核心 Visual Basic 6.0 运行时”。该承诺包括五年的主流支持和五年的扩展支持。
Karl Peterson 是一名 VB6 程序员,曾是 Visual Studio Magazine 和 Visual Basic Programming Journal 的长期专栏作家(他在那里撰写了广受欢迎的 VB Corner 专栏等,直到 2010 年)。Peterson 指出,此公告正式将 VB6 运行时的生命周期置于他预计的退役之后。这一事实可能对那些使用大量工作 VB6 代码的企业产生影响,彼得森将其称为“2020 年代的 COBOL”。</p>
“Classic VB 社区中的许多人都是在 Windows 出现之前开始的,现在正处于即将退休的地步,”他说。“而许多企业失去这种制度知识只会进一步巩固功能代码库。”</p>
彼得森说,微软的决定反映了一个事实,即 VB6 的采用超越了“作为企业游击队的爱好者或共享软件类型的作者”。他说微软很可能会扩展支持,因为企业仍然维护真正有价值的 VB6 代码,并且无法立即迁移它。
资料来源:MSDN 杂志
它确实适用于 Windows 8 和 8.1,甚至适用于 Windows 10
我认为所有 ActiveX 库仍将按照它们在 Windows 7 下的实际工作方式运行。请记住,Microsoft 说过 Windows 8 将具有“经典 Windows 模式”(带有桌面、菜单栏等,如 Windows 7)。
另一个问题是关于 ARM 系统的,我认为会有两种情况:x86 程序根本无法运行,或者微软将包含一个用于使用 Intel 程序的仿真层(以性能为代价)。
所以Windows 8可能不会是VB6和所有相关软件的最后期限,但问题肯定会增加,直到我们无法以任何方式使用的那一天。因此,请准备好使用 XP Mode (Virtual PC)、VirtualBox、VMWare 等软件进行虚拟化和运行 VB6。
据我所知,它们在 Windows 8 中的工作方式与在 Windows 7 中的工作方式相同 - 他们说 Windows 7 中的所有内容都可以在 Windows 8 中工作(假设硬件相同)。那里仍然有大量的 VB6 应用程序,因此它们无缘无故地放弃支持是没有意义的。您可以从Windows 8 论坛找一些人来检查一下,因为他们可以访问开发人员预览版以外的版本,并且可能会为您获得一些反馈。
这里还有一个帖子可以帮助你:Google Groups Post
通过确保向后兼容性,Microsoft 可以得到一切,也不会失去任何东西。Visual Studio 将 Interop 宣传为将 Vb6 技术与 .net 集成的一种方式;如果微软删除了这种兼容性,似乎微软会自取其辱,因为我认为 Interop 工作需要 vb6 运行时。
Visual Basic 6 适用于 Windows 8、8.1 和 Windows 10。
从我所见,VB6 运行时似乎确实可以工作......但我在 Windows 8 RTM 64 位上安装 IDE 的尝试是一个巨大的失败。我遇到了很多非常严重的错误(似乎一个数字与 OLE 注册有关),安装程序甚至没有正确完成。我将坚持使用我的 XP VM 进行 VB6 开发。
对于 Windows 8 中的工作方式,我也会谨慎处理。仅仅能够加载和显示一个普通的 vanilla 表单与运行到 SQL Server 的 ADO 连接、加载和播放媒体或执行任何类型的操作有很大不同。严重的套接字通信。一如既往,彻底测试!:)
编辑:看起来微软的支持声明(链接到另一条评论)证实 Windows 8 不支持 IDE。
我读过您可以将 msvbvm60.dll 放在与您的 Visual Basic 6 exe 相同的文件夹中并且它可以工作。我没有亲自验证这一点,当然,在 Windows 8 中也没有。
我有一个带有 20K 行 VB6 代码的实用程序,它只需要拖放部署而无需安装包。所以我对 Windows 8 中的这个问题也很感兴趣。
我已经能够在 32 位 Windows 8 Preview 版本上安装 VB6 IDE 并编译一些现有的应用程序。我还没有成功安装 64 位版本。
我在 Windows 7 和 Windows 10 上运行了一段时间的大型 VB6 应用程序。进行了一些调整以使其正常工作,但根本没有问题。