ArtinSoft's Blogs

Software Migration Experts
Welcome to ArtinSoft's Blogs Sign in | Join | Help
in Search

Jose Aguilar's Blog

All things migrations, software and technology

On Visual Basic 6.0 and Windows 7 XP Compatibility Mode

As you are probably well aware, along with the release of Windows 7 RC came some big news that affect Visual Basic 6.0 applications: Professional and Ultimate Editions of Windows 7 will feature a Windows XP Mode for backwards compatibility with legacy applications. This means that even if you are using components that have issues with Windows 7, you will be able to run your VB6.0 application on the new operating system, albeit within a Windows XP virtual machine.

It is important to mention that the VB team over at Microsoft was already making sure the IDE and VB6 runtime would work on Windows 7, as I commented before (second comment on that post) based on the Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008 and Windows 7:

The Visual Basic team is committed to “It Just Works” compatibility for Visual Basic 6.0 applications on Windows Vista, Windows Server 2008 and Windows 7.
The Visual Basic team’s goal is that Visual Basic 6.0 applications that run on Windows XP will also run on Windows Vista, Windows Server 2008 and Windows 7. The Visual Basic team is also committed to the Visual Basic 6.0 development environment running on Windows Vista, Windows Server 2008 and Windows 7.

The objective of XP Mode is clearly to move forward the Windows architecture to the latest technologies, free of all the legacy bits required to maintain compatibility of old applications (read the History posts at the The Old New Thing blog for examples), while at the same time it allows developers to smoothly upgrade their applications without the threat of the application not working in the new OS. It is basically a compromise of old vs. new. And it is very easy to draw parallels between XP Mode and the approach taken by Apple, first with Classic and then with Rosetta, to smooth the transition to new platforms. But as was the case in those scenarios, Classic was eventually phased out, and Rosetta will eventually be as well.

I personally think that this technology may end up being around for a while, and may even end up included in the next versions of Windows if there is enough customer demand for it. This has to be the same technology used in their Microsoft Enterprise Desktop Virtualization (MED-V) solution, targeted towards enterprise customers:

“Microsoft Enterprise Desktop Virtualization (MED-V) provides deployment and management of virtual Windows desktops to enable key enterprise scenarios. MED-V 1.0 helps enterprises upgrade to the latest version of Windows even when some applications are not yet compatible.”

Even in the scenario that XP Mode is supported for a long time, you still have to consider it as something that can be used for a smooth transition while you upgrade your applications to the .NET Framework, and not as an excuse for not upgrading. It can help you plan a gradual migration, were you first start migrating certain modules while leaving others in VB6, with tools like the Interop Forms Toolkit. And keep in mind that even though the application will run, the IDE is simply not supported anymore and neither are most controls that cause compatibility issues. And at the same time you will be missing the benefits of using the latest technologies and the increased productivity of the .NET Framework.

Comments

 

Fzoufaly said:

I think it is important to mention that even if the VB team has tested the IDE on WIndows 7, the support policy is clear in saying that there is only extended and therefore payed support.

"The Visual Basic 6.0 IDE will be supported on Windows Vista and Windows Server 2008 as part of the Visual Basic 6.0 Extended Support policy until April 8, 2008. "

May 6, 2009 9:07 PM
 

Jaguilar said:

Actually, it was the non-paid, extended support that ended. The Microsoft Support Lifecycle Policy FAQ at

support.microsoft.com/.../lifepolicy states:

"Microsoft will also provide Extended Support for the 5 years following Mainstream support or for 2 years after the second successor product (N+2) is released, whichever is longer."

In this case the Extended support expired on April 8, 2008. The freely available support, called "Mainstream Support", ended on 3/31/2005 (as per support.microsoft.com/.../default.aspx).

May 6, 2009 11:02 PM
 

Larry said:

I have been using Visual Basic 6 since it was first released.  I am a very experienced programmer.  Visual Basic 6 still has issues running on a Windows 7 RC machine.

The code will run, the exe will execute, but the editor has some problems even in Compatability Mode.

I down loaded Visual Basic 2008 Express to give it a try.  What a piece of crap!

I don't understand why it was neccessery to change the syntax for many statements.

The editor, well, there is now way around it, it sucks!

Working with a database, other than viewing raw columns and rows of a recordset, is

very hard to work with.

My point being;  A better, and I mean, a lot better Visual Basic programming tool

needs to be created.  They went from a Developer's needs, to a cut and paste, this might work approach.

Thanks, and who cares! Right, $$$$$$$$$$$$$$$

May 27, 2009 11:16 PM
 

Dave said:

VB2008 Express is free and dumbed down.  The Pro version is much better.  Additionally, the syntax changed to be more consistent.  Transitioning from vb6 to vb.net has been wonderful, and I cringe every time I have to code to maintain a legacy app.

October 24, 2009 3:50 PM
 

Garry said:

It would have been nice if it supported simple things (like .list for example) straight out of the box.

October 28, 2009 2:25 PM
 

Navin said:

Im using windows7 professional and install VB6..failed and it says compability error or something...what should i do? navin_sac@yahoo.com

November 12, 2009 9:14 AM
 

Jaguilar said:

Navin:

The easiest thing to do is to download the Windows XP Mode VM from www.microsoft.com/.../download.aspx

It is a somewhat big download, but you should be able to install the VB6.0 IDE without problems.

Hope that helps.

Jose.

November 12, 2009 10:44 AM
 

newbee joe youbee said:

I went to the website mrntioned above and noticed that the OS has to be at least Windows 7 Professional. Again, Windows offers no help to Win7 Home Edition...unless you pay $200.00 for the upgrade. If Win7 wasn't included with the purchase of my machine, I'd never use it. I'm thinking of wiping the drive and installing XP. I think Windows 7 is the worst.

March 20, 2010 5:08 PM
 

Josh Atkinson said:

Thank you for this article.  It is a great help.  As (an amateur) developer I do not understand one element of the migration which you, or a contributor, may be able to help with:  It related to installation on a Windows 7 platform.

Q:  When using an installer for VB6 (Package and Deployment, Inno, etc) should I set the install of DLL/OCXs to the standard {sys} folder or {sys}/SysWow?

Possible follow up: If they are set to standard {sys},  does Windows 7 automatically reassign to sysWow... or what?

Does anyone know?

Many thanks

April 3, 2010 5:05 AM
 

nitin said:

i said that visual basic also used in the window 7 & XP

April 5, 2010 11:33 PM
 

Refresh said:

There is a step-by-step guide to install the VB6 IDE on this site:

www.fortypoundhead.com/showcontent.asp

April 17, 2010 12:22 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About Jaguilar

Jose A. Aguilar has been working at ArtinSoft for more than 6 years, starting out with Informix to Java migrations and moving on to VB6 to .NET conversions using the Visual Basic Upgrade Companion. He currently works as both Senior Software Migration Consultant and Program Manager for the Visual Basic Upgrade Companion, helping clients to leverage their existing investments in VB6 by moving them to .NET Framework.

This Blog

Syndication

Powered by Community Server (Non-Commercial Edition), by Telligent Systems