English 中文(简体)
VB6 Running on Windows 8?
原标题:

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?

问题回答

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

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.

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.

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

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

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 supported on 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).

Microsoft updated their support statement as of January 2012. It appears VB6 will be supported in 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.

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

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.

Source: MSDN Magazine

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

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

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.

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).

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).

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.

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 forums to 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.

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

Visual Basic 6 works on Windows 8 , 8.1 and Windows 10.

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.

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.

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.

From what I ve seen, the VB6 runtime does seem to work...but my attempts at installing the IDE on Windows 8 RTM 64-bit was a colossal failure. I ran into lots of very major errors (seems like a number had to do with OLE registration) and the installer didn t even finish properly. I ll stick with my XP VM for VB6 development.

I d also approach cautiously with regard to what does work in Windows 8. Just being able to load and show a plain vanilla form is far different from running an ADO connection to a SQL Server, loading and playing media, or doing any type of serious socket communication. As always, test thoroughly! :)

Edit: Looks like Microsoft s support statement (linked to in another comment) validates that Windows 8 as it stands will not support the IDE.

I have a large VB6 app running on both windows 7 and windows 10 for a while. Took some tweaking to get it working but no issues at all.





相关问题
Prevent windows from queuing shellexecute requests

Win.ShellExecute 0, "open", "C:dirprogram.exe", "arguments", vbNullString, SW_SHOWNORMAL Win.ShellExecute 0, "open", "http://www.google.com", vbNullString, vbNullString, SW_SHOWNORMAL I want google....

Why is My Loop Only Deleting One File?

Using VB6 In a folder, i have n number of files, i want to delete a 0 kb files code Dim filename5 As String filename5 = Dir$(txtsourcedatabasefile & "*_*", vbDirectory) MsgBox filename5 Do ...

How to check the filesize?

Using VB6 I have the text file with different sizes, so i want to delete the file where filesize = 0 kb. How to make a vb6 code for deleting the 0 kb files. Need vb6 code Help

File Rename problem?

I m using VB6 and I have a folder where I have n number of files. I want to change the file extension to .txt. I used the code below to change the extension of all .fin files to .txt. Dim filename1 ...

Error 20728-F while in using Crystal Reports in VB6

I m using Crystal Reports in my VB6 project, but I m facing error while loading the report in crystalreport1.action=1; Please give me some solution for this problem. It is showing the error as Error ...

DllRegisterServer entry point was not found

When running my vb6 application I am getting error like, runtime error 53 : file not found: rscomclNoMsg.dll then i tried to register that dll from cmd line using regsvr32. Then I am getting ...

SQL Server 2000, ADO 2.8, VB6

How to determine if a Transaction is active i.e. before issuing Begin Transaction I want to ensure that no previous transaction are open.. the platform is VB6, MS-SQL Server 2000 and ADO 2.8

热门标签