Converting VB6 app to VB.Net app

Hi Experts,
I need help convincing my boss to convert our Enterprise VB6 application into a VB.NET application.  What are some pointers I should bring up to convince him?  

Who is Participating?
Jacques Bourgeois (James Burger)PresidentCommented:
VB6 is not supported anymore, meaning that Microsoft does not update it to work with newer versions of Windows. Problems have already surfaced as stated by someone else, but you can expect that your application will eventually stop working one of these days your company will upgrade to a new version of Windows.

You have to be aware however that a conversion is usually a very bad thing. The way to work in .NET is completely different. Some features of VB6 are not supported anymore. The converter cannot convert everything. It does what it can and gives you code that is very hard to maintain. Nobody would write code in .NET that would look like the code generated by the converter.

Almost every conversion I have heard of since 2002 ended up on the scrap pile after a few weeks or a few months of trying to make things work. Most applications must be rewritten using .NET techniques in order to be stable.

If your VB6 where designed with .exe that contains mainly the forms and most of the work done in dlls, then you could start by rewriting the interface in .NET, while connecting to your old dlls in the background. This works quite well unless you used too many Variant in the dlls. Then recreate the dlls in .NET as need arise.

If your applications were designed in big .exe programs that did everything, then you will probably have to either rewrite the applications or learn to work with virtual machines that should be able to keep running Windows XP for a few more years after you will have migrated to newer versions of Windows.
käµfm³d 👽Commented:
Since VB6 is effectively legacy, the cost of hiring people knowledgeable of the language and environment should steadily start rising.
At least in my experience, VB6 documentation and message boards are becoming harder to find. Getting help for a tricky issue will gradually become more difficult--at least once all the current VB6 experts at EE retire!!
There aren't going to be any (official) VB6 compilers for other architectures. You can easily write a mobile app (for Windows devices) with Visual Studio 20**.
You can write web applications using VB.NET (as code-behind). True:  You can use VB-eque syntax in class ASP, but that is also considered legacy.
.NET supports actual OO programming, whereas VB6 only has the notion of "classes", which in this particlar instance are not very OO.
The .NET Framework itself is massive, and has countless ready-built classes to help you accomplish common programming tasks. In VB6, you'll most likely have to rely on 3rd-party libraries for certain tasks (sorry, I don't have any specific examples), and good luck with trying to get support (without 2nd-mortgaging the house) for such libraries.
If your shop decided to switch to C# as its official language, having an modest understanding of the Framework after working in VB.NET would make the transition easier. You can also easily integrate code written in either language with applications built in either language.
You should be able to use some if not many of your VB6 components (possibly GUI components as well, but I'm not certain) within your .NET applications via P/Invoke. I wouldn't use this as a primary selling point though.
Meir RivkinFull stack Software EngineerCommented:
U can start with "wake up its 2013"
Éric MoreauSenior .Net ConsultantCommented:
Many small features of VB6 are starting to behave badly in Win7/8..
This always happened to VB with every new OS since Win95 - And, every time, microsoft would take a year or three to make the new OS compatible with VB.
That 'compatibility' effort is no longer being made and VB6 will gradually become unusable!

Sadly, we have over a million lines of VB6 that need to be re-written to DotNet (about 2 man years labor according to Mr. Ballmer) Our company is funded by charities and this re-write is totally beyond their financial ability. Our 'business system' project (share-ware) that took 15 years to develop is being terminated.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.