VB6 在 Windows 8 上运行?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4221661/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 07:45:17  来源:igfitidea点击:

VB6 Running on Windows 8?

windowsvb6compatibilitywindows-8

提问by Clinton Reilly

Assuming that vb6 does not run on Windows 8 because the VB6 run time libraries are not shipped with Windows 8, would it not be possible to install the VB6 run time library on Windows 8 and then then run VB6? Or is there another problem?

假设 vb6 不在 Windows 8 上运行,因为 VB6 运行时库未随 Windows 8 一起提供,那么是否不可能在 Windows 8 上安装 VB6 运行时库然后运行 ​​VB6?还是有其他问题?

回答by Kris Erickson

EDIT:Microsoft is going to supportthe VB6 runtime in Windows 8.

编辑:Microsoft在 Windows 8 中支持VB6 运行时。

VB6 apps still work in Windows 8 in the Developer Preview, as of September 13th, 2011).VB6 running in developer preview. They also run in the Consumer Preview and as stated above, Microsoft are committed to having VB6 just work in Windows 8.

截至 2011 年 9 月 13 日,VB6 应用程序仍可在 Windows 8 的 Developer Preview 中运行)。在开发者预览版中运行的 VB6. 它们也在消费者预览版中运行,如上所述,微软致力于让 VB6 只在 Windows 8 中运行。

回答by Cody Gray

This is a very difficult question to truly answer, but I'll try and provide the best response that I can.

这是一个很难真正回答的问题,但我会尽力提供最好的回答。

We really don't know for sure, seeing as how it has not been released yet and is probably only in the early stages of development. There is also no way to predict what kind of hacks might surface to allow VB6 applications to run on Windows 8. I have a fair bit of confidence that it will be only a matter of time before the community comes up with some sort of workaround, if you're really all that concerned. I will probably even look into it myself, if for no other reason than pure curiosity.

我们真的不确定,因为它尚未发布并且可能仅处于开发的早期阶段。也无法预测可能会出现什么样的黑客攻击来允许 VB6 应用程序在 Windows 8 上运行。我有一点信心,社区提出某种解决方法只是时间问题,如果你真的那么关心。我什至可能会自己研究一下,如果不是出于纯粹的好奇心。

However, the official wordis that this configuration will likely not be supported:

但是,官方说法是可能不支持此配置:

...there are no plans to include VB6 runtime in future versions of Windows beyond Windows 7.

...没有计划在 Windows 7 以外的未来版本的 Windows 中包含 VB6 运行时。

It's also worth considering the talk about Windows 8 being released only in a 64-bit version (as is the case with Server 2008 R2). Since the VB6 runtime (and all applications created by the VB6 compiler) are 32-bit, they will have to run in an emulated 32-bit layer (WOW). Some apps have already experienced issues running in 64-bit versions of Windows 7, and this problem may only get worse. The IDE is currently not supportedon 64-bit versions of Windows, making continued maintenance of legacy applications only that much more difficult (although for what it's worth, I just installed it on my dev box running Server 2008 R2 without any problems).

还值得考虑有关 Windows 8 仅以 64 位版本发布的讨论(Server 2008 R2 就是这种情况)。由于 VB6 运行时(以及由 VB6 编译器创建的所有应用程序)都是 32 位的,因此它们必须在模拟的 32 位层 (WOW) 中运行。一些应用程序在 64 位版本的 Windows 7 中运行时已经遇到问题,而且这个问题可能只会变得更糟。IDE 目前在 64 位版本的 Windows 上不受支持,这使得对遗留应用程序的持续维护变得更加困难(尽管就其价值而言,我只是将它安装在运行 Server 2008 R2 的开发箱上,没有任何问题)。

回答by John B

Microsoft updated their support statement as of January 2012. It appears VB6 will be supported in Windows 8.

微软在 2012 年 1 月更新了他们的支持声明。 VB6 似乎将在 Windows 8 中得到支持。

VB6 runtime will ship and will be supported in Windows 8 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows 8 being the same as it is for Windows 7.

VB6 运行时将在 Windows 8 中发布并在操作系统的生命周期内得到支持。Visual Basic 6.0 运行时文件仍然是 32 位的,并且所有组件都必须托管在 32 位应用程序进程中。开发人员可以认为 Windows 8 的支持故事与 Windows 7 的支持故事相同。

http://msdn.microsoft.com/en-us/vstudio/ms788708

http://msdn.microsoft.com/en-us/vstudio/ms788708

回答by Rohit Vipin Mathews

Microsoft last month announced that it was extending “It Just Works” compatibility for Visual Basic 6 applications for the full lifetime of Windows Vista, Windows Server 2008, Windows 7 and (most importantly) Windows 8. As described on the Visual Basic 6.0 Resource Center, “the core Visual Basic 6.0 runtime will be supported for the full lifetime” of these operating systems. The commitment comprises five years of mainstream support followed by five years of extended support.

Karl Peterson is a VB6 programmer and formerly a longtime columnist at Visual Studio Magazine and Visual Basic Programming Journal (where he wrote the popular VB Corner column, among others, until 2010). Peterson notes that this announcement officially puts the lifetime of the VB6 runtime past his projected retirement. And that fact may have implications for enterprises sitting on large amounts of working VB6 code, which Peterson calls “the COBOL of the 2020s.”

“Many in the Classic VB community started out back in the pre-Windows days, and are now at the point of seeing retirement on the horizon,” he says. “And the loss of that institutional knowledge at many enterprises will only further entrench the functional code base.”

Peterson says Microsoft's decision reflects the fact that VB6 adoption went beyond the “hobbyist or shareware type author who was the guerilla in the enterprise.” He says Microsoft was likely moved to extend support because businesses still maintain VB6 code of real value, and are in no position to immediately migrate off it.

微软上个月宣布,它将在 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”。

“Classic VB 社区中的许多人在 Windows 之前的时代就开始了,现在正处于退休的边缘,”他说。“而且许多企业失去这种机构知识只会进一步巩固功能代码库。”

彼得森说,微软的决定反映了这样一个事实,即 VB6 的采用超出了“企业中游击队的业余爱好者或共享软件类型作者”的范围。他说微软很可能会扩展支持,因为企业仍然维护着真正有价值的 VB6 代码,并且无法立即迁移它。

Source: MSDN Magazine

来源:MSDN 杂志

http://support.microsoft.com/gp/lifepolicy

http://support.microsoft.com/gp/lifepolicy

回答by Reznicencu Bogdan

It does work on windows 8 and 8.1 and even on windows 10

它适用于 Windows 8 和 8.1,甚至适用于 Windows 10

回答by incom2

I think all ActiveX libraries will still working the same way they actually do under Windows 7. Remember Microsoft says Windows 8 will have a ''classic Windows mode'' (with desktop, menu bar, etc like Windows 7).

我认为所有的 ActiveX 库仍然会以它们在 Windows 7 下的实际工作方式工作。请记住,Microsoft 说 Windows 8 将具有“经典 Windows 模式”(带有桌面、菜单栏等,如 Windows 7)。

Other question is about ARM systems, I think there will be two scenarios: x86 programs will not work at all, or Microsoft will include an emulation layer for use Intel programs (at performance cost).

另一个问题是关于 ARM 系统,我认为会有两种情况:x86 程序根本无法运行,或者 Microsoft 将包含一个用于使用 Intel 程序的仿真层(以性能为代价)。

So Windows 8 will probably not be the deadline for VB6 and all the related software, but problems will increase for sure until the day we can't use in any way. So be prepared for virtualize and run VB6 with software like XP Mode (Virtual PC), VirtualBox, VMWare, etc.

所以Windows 8可能不会是VB6和所有相关软件的最后期限,但问题肯定会增加,直到我们不能以任何方式使用的那一天。因此,请准备好使用 XP Mode(虚拟 PC)、VirtualBox、VMWare 等软件进行虚拟化和运行 VB6。

回答by Tony Gray

From what I can tell they work just the same in Windows 8 as they do in Windows 7 - they've said that everything in Windows 7 will work in Windows 8 (assuming hardware is the same). There are still a huge number of VB6 apps out there so it makes no sense for them to drop support for no reason. You could get some guys from the Windows 8 forumsto check it out, as they will have access to builds other than the Developer Preview and may be able to get some feedback for you.

据我所知,它们在 Windows 8 中的工作方式与在 Windows 7 中的工作方式相同 - 他们说过 Windows 7 中的所有内容都可以在 Windows 8 中运行(假设硬件相同)。仍然有大量的 VB6 应用程序存在,因此他们无缘无故地放弃支持是没有意义的。您可以找一些来自Windows 8 论坛的人来检查一下,因为他们可以访问除开发人员预览版之外的其他版本,并且可能会为您获得一些反馈。

There's also a post here which may help you: Google Groups Post

这里还有一篇文章可能对您有所帮助:Google Groups Post

回答by Ken_SF

Microsoft has everything to gain and nothing to lose by insuring backwards compatibility. Visual Studio advertised Interop as a way to integrate Vb6 technology with .net; seems like Microsoft would be shooting itself in the foot if it removed this compatibility as I presume vb6 runtimes are required for Interop to work.

通过确保向后兼容性,Microsoft 可以获得一切,而没有任何损失。Visual Studio 宣传 Interop 是将 Vb6 技术与 .net 集成的一种方式;如果 Microsoft 取消这种兼容性,似乎 Microsoft 将在自己的脚下开枪,因为我认为 Interop 需要 vb6 运行时才能工作。

回答by Tony Toews

I've read that the you can place the msvbvm60.dll in the same folder as your Visual Basic 6 exe and it works. I have not personally verified this and not, of course, in Windows 8.

我读过您可以将 msvbvm60.dll 放在与 Visual Basic 6 exe 相同的文件夹中,并且它可以工作。我没有亲自验证这一点,当然,在 Windows 8 中也没有。

I have an utility I'm selling with 20K lines of VB6 code which only requires a drag and drop deployment with no install package. So I have an intense interest in this problem in Windows 8 as well.

我有一个实用程序,我正在销售 20K 行 VB6 代码,它只需要拖放部署,无需安装包。所以我对 Windows 8 中的这个问题也很感兴趣。

回答by Holistic Developer

I have been able to install the VB6 IDE on the 32-bit Windows 8 Preview build and compile some existing apps. I haven't yet had success in installing on the 64-bit version.

我已经能够在 32 位 Windows 8 预览版上安装 VB6 IDE 并编译一些现有的应用程序。我还没有在 64 位版本上安装成功。