Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When will it be impossible to support Visual Basic 6.0 applications? [closed]

People also ask

How long will Visual Basic be supported?

As detailed in this document, the core Visual Basic 6.0 runtime will be supported for the full lifetime of supported Windows versions, which is five years of mainstream support followed by five years of extended support (https://support.microsoft.com/gp/lifepolicy).

Is Visual Basic 6.0 still used?

VB6 is probably still widely used, but companies migrate to VB.NET. Moreover VB6 is so easy to learn that you can start using it really fast with no previous experience.

Is there a future for Visual Basic?

The "with a future" description refers to Microsoft's 2020 announcement that "We Do Not Plan to Evolve Visual Basic as a Language" as the company was shifting from the old, proprietary, Windows-only . NET Framework to the new open source, cross-platform . NET Core (now just .

Does Visual Basic 6.0 work on 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.


I'd say they're at risk, because the OS and hardware will evolve out from under them.

You can run Visual Basic 6.0 on Windows XP, but even that's close to the end of its life (it keeps being revived on its death bed).

Those Cobol applications still live because the mainframes they run on aren't going anywhere. "Big iron" was built during a time when computers were expensive and rare and had to run for 20-30 years. Not true with applications based on PCs and Windows, which are viewed as more disposable.


If you need to continue to support VB6 I would recommend creating a VM that contains XP and VB 6 with all the service packs on it. This way you can continue to run your development environment even though your desktop evolves to something that may be incompatible with the VB 6 dev environment. Installing Visual Studio 6 on Vista had issues two years ago.

For new development beyond maintenance I would look towards using a different environment. It's been my experience that you are better off looking at it from a completely fresh view point and not restrict yourself to migrating to VB .NET. It's enough of a hassle to migrate that you really should do new development in the best environment for your application. That may be VB .NET and it may not.

Developing using obsolete technology is never a problem until it's a problem and then it is too late. You need to stay in the sweet spot of the curve and you are the only one that can decide what that is. If you switch too early you will probably make the wrong decision and if you wait too long you will be too far behind. It's decisions like this that makes this field fun and painful at the same time.


There is a ton of vertical market software developed in VB6 by manufacturers of various types of machinery. VB6 use of ActiveX controls, ActiveX DLLs, and the ability to consume most Win32 DLLs has lead to many manufacturers of various components to support VB6.

Using VB6 and the support libraries is at least an order of magnitude faster and more reliable than the older methods of assembly on custom chips, or using C. Note that even the C/C++ developers were helped as they can consume the new support libraries as well.

Many of these applications are filled with math functions that have been tested to work for the environment and the machinery they were designed for.

So when Microsoft made VB.NET incompatible with VB6 this was a BIG deal for many of us. Unlike the transition from VB3 to VB4-6, we have to touch our code in many place in order to get it working with .NET. So many in fact that it devolves to the same thing as rewriting your software in a new language.

For these reasons VB6 will live on for a while longer as all these machines are out there. Still needing new updates and fixes.


It will probably work for a good number of years, but eventually you'll get to the point where you have to maintain old hardware, running an old, unpatchable OS, in order to run the software. Meanwhile, you're missing out on all of the new framework and language goodies that get developed. Eventually, you'll have a need to fix something or add something that isn't possible in your environment and then you get to pay the entire bill for your accumulated technical debt.

My take: you should already be working on an upgrade to a newer platform or replacement for the application. My preference is almost always to do this before I'm forced to by circumstances.


I think Visual Basic 6.0 applications will live for a long time, like COBOL applications, and for similar reasons. Parts of my company's products are still VB6, and they won't be changed until there's a good reason. We're hoping Microsoft won't be able to drop VB6 support for a good while because too many of their enterprise customers have VB6 apps. They've already been forced to extend the support period beyond their original plans. We're hoping Raymond Chen wins over MSDN magazine - obscure joke that will only make sense if you remember Joel's post about Microsoft's dilemmas with backward compatibility versus design purity.

If you're considering upgrading or rewriting, IMHO this question and this question have some informative answers. You can mix new .NET components with existing Visual Basic 6.0 using Interop, if there are .NET features you want or even if you just want to learn .NET.

The Visual Basic 6.0 newsgroups are still pretty active so there's obviously a lot of old fogeys like me still developing in Visual Basic 6.0 :)

Duffymo, Bruceatk - the Visual Basic 6.0 IDE can be made to work on Vista with a bit of effort.


COBOL is a public standard, with multiple implementations by multiple vendors on multiple hardware platforms.

VB6 is only supported by Microsoft, and they've already told you that they won't be supporting it on new versions of Windows. So eventually it will be effectively dead. The same may be true of COBOL, but nowhere near as quickly.