VB6 to .NET Migration: Strategies, Challenges, Actuality

VB6 to .NET Migration: Strategies, Challenges, Actuality

Why is a question about VB6 to .NET migration so timely? Visual Basic (VB) was created by Microsoft in 1991 and became very popular. A lot of in-house applications for enterprises were implemented along with an ecosystem of third-party components.


But later, Microsoft abandoned Visual Basic in favor of the modern .NET Framework. The final VB release was version 6 in 1998. Visual Basic 6.0 IDE is not supported anymore. According to Microsoft, Windows supports core VB6 functionality which is “used in the majority of application scenarios”

When consider VB6 migration?

So should companies go for VB6 to .NET migration? The short answer is Yes. Microsoft itself published an article “Why is it a great time to stop developing in Visual Basic 6.0?” in 2009.

VB6 security security issues

Most importantly, Visual Basic might suddenly stop running. As a low priority process, VB6 support is not verified extensively in Windows updates. And that leads to the growth of VB6 security issues. By approaching VB to .NET migration, business leaders can eliminate those issues.


In 2019 a BlueKeep vulnerability in Windows was found, and a patch was released. But that update broke the functionality necessary for VB to run. Windows recommended automatic updates for security reasons. However, they just made VB applications to stop responding with an “invalid procedure call error”.


It took several days for MS to release an update to address the VB issue. During that time, customers were left with two options – don’t run VB apps or don’t install BlueKeep-related updates and be susceptible to viruses.

Today, as the outdated programming language is no longer supported, there are even more potential dangers. That’s why VB6 to .NET conversion is gaining more and more popularity.


The US National Security Agency and Microsoft stated that virus attacks using BlueKeep could be similar in scale to EternalBlue-attack such as the notorious WannaCrypt. That “worm” encrypted the whole hard drive and demanded a ransom in bitcoins. No wonder it got a nickname from frustrated victims as WannaCry.



NSA is raising their own concern that the Microsoft RDP flaw (#BlueKeep) is of significant risk to unpatched systems. Patch and protect! https://t.co/hj1c40psma

— Rob Joyce (@RGB_Lights) June 4, 2019


Is Visual Basic outdated now?

Why is it recommended to convert Visual Basic to C# or .NET?

A closer look at Microsoft’s pledge to support VB core reveals that they never promised to uphold everything. Users might experience strange behaviors of applications, cryptic error messages, and crashes resulting in data loss. The core VB might work, but third-party components written in VB6, such as OCX/ActiveX controls, might stop working.  


Customers are advised to contact original vendors. The thing is, a lot of these vendors also don’t provide support for their old programs. they even are not present in the business anymore. All this makes the need for VB6 to .NET migration quite obvious.  


Eventually, all companies will face no choice but to rewrite their applications. Take as an example the recent 2020 case with the US government systems working on COBOL. It shows that the longer the problem is postponed, the more costly it is to resolve.


Ancient languages like COBOL and Visual Basic don’t attract current students. As a result, the number of experts is dwindling each year. Scarce programmers willing to work in that field must be paid exorbitant salaries. 

Microsoft team about Visual Basic support. By Abto Software


Finding engineers with extensive Visual Basic programming knowledge is a hard challenge – as most are moving to more modern technologies, there are very few real experts that possess Visual Basic programming expertise.

Also, problems arise because old languages used old architecture approaches. Such “spaghetti code” drastically increases the complexity of the applications. Another problem is poor documentation. Reverse engineering of such legacy applications earned the name “software archaeology”.


All companies must evolve to keep up with their competitors. Company software entails a change in processes, integration with new industry-standard applications. Business growth demands program scalability, and modern enterprises are going web, cloud, and mobile. These all are either very expensive or even impossible in Visual Basic.

That is when a Visual Basic upgrade becomes a necessity.


How to choose VB6 to .NET migration strategy?

Now, what can we do when a company is ready to start a transition to the new technologies? There are three possible VB6 to .NET migration strategies:

  • Extension
  • Migration
  • Rewriting

Let’s discuss every one of them in more detail to convert VB6 to .NET with no problems

How to choose suitable VB6 to .NET migration strategy. By Abto Software


This VB6 to .NET migration strategy is best-suiting in case:

  1. The application works fine;
  2. Described above issues and risks are accepted;
  3. You need to develop new features with fewer efforts and costs.

When approaching VB6 code migration projects, .NET modules can be called additionally from within old apps. You can leave a legacy as it is but implement new stuff with some modern framework. Eventually, old modules that are still relevant to the business can be also migrated to .NET. This approach is well-known as a “strangler” pattern.


Pros of this VB6 to .NET migration strategy:

  • It might be the cheapest way in the short term.
  • The system is converted gradually.

Cons of the Extension approach:

  • Business continuity risk. Visual Basic Parts will be prone to VB6-related issues until they are fully rewritten.

To facilitate the process, you can use a Visual Basic migration tool for extension, for example:

  • Code Architects’ VBMigration Partner
  • Great Migrations’ VB6/ASP to .NET Migration Toolkit
  • Micro Focus’ Visual Basic Upgrade Companion
  • Cognosys Inc. VB6 to .NET Migration Toolkit

There are also other useful VB6 to .NET migration tools out there, but it is important to review the existing legacy codebase before choosing.



This type of Visual Basic upgrade is the best match in case:

  1. An old application works unstably;
  2. It annoys users with frequent errors, sometimes even causing work loss;
  3. The number of users is relatively constant;
  4. Business processes are attuned to the desktop experience.

This VB6 to .NET migration strategy might be started with automated converters that take Visual Basic code and translate them to C# .NET. The resulting code requires manual adjustments for specific parts that are conceptually different in those languages, for replacing OCX/ActiveX controls. Also, upgrading from default for converters Windows Forms to the newer WPF is desirable.

Abto has good experience in implementing the Migration strategy. For example, we convert VB6 to .NET for a charity platform for an international company. Also, our team provided VB6 to WPF migration for a leading manufacturer.


Advantages of the Migration approach:

  • VB6 migration to .NET is the second cheapest way after the Extension approach.
  • The similarity of platforms allows preserving the usual user experience. Also, it lowers the chances of incorrect implementations.
  • The whole application will be free from VB6 security and stability issues.

Disadvantages of the Migration approach:

  • Before you migrate VB6 to .NET, the base application must be developed before the new functionality can be added.
  • Poor architecture choices might be inherited from the original code. Eliminating them will need extra efforts.

To save both time and cost, you can use a Visual Basic migration tool, for example:

  • ArtinSoft’s VBUC (Visual Basic Upgrade Companion)
  • ArtinSoft’s VB6/ASP to .NET Migration Assistant
  • Mobilize.NET VBUC (Visual Basic Upgrade Companion)
  • ResQSoft VB6 to .NET Transformation Platform


This type of Visual Basic upgrade is the best match in case:

  1. The migration is done from the legacy desktop VB6 application to another platform. These transitions can support the extending base of users by scaling into the cloud; 
  2. The company want to extend market share;
  3. The original application is totally outdated. It does not satisfy business in significant areas thus major overhaul is anyway necessary.

As an example, Abto Software implemented the Rewriting approach for the US retail company. We modernized and migrated legacy ERP to the web.


Advantages of the Rewriting approach:

  • Change of platform to web or mobile is the only way to go;
  • Architecture written from scratch using modern approaches allows cheaper development of improvements. Also, it makes more reasonable ongoing support expenses in the long term.

Disadvantages of the Rewriting approach:

  • It requires a bigger initial investment than the previous two ways. However, it is still justified by the future benefits.
  • Rewritten functionality must be extensively tested to confirm compliance with the old behavior.

To save your resources, you can use a Visual Basic migration tool, for example:

  • Code Architects’ VBMigration Partner
  • Great Migrations’ VB6/ASP to .NET Migration Toolkit
  • Mobilize.NET WebMAP
  • Elegance Technologies VBUC Extension

What are VB6 to .NET migration challenges?

As we already mentioned, there are numerous challenges with supporting and maintaining VB6 applications. For example, you will hardly find suitable candidates that possess Visual Basic programming knowledge – obtaining exhaustive Visual Basic programming experience is simply not profitable.

If you want to convert VB6 to .NET, you have to consider some important things in advance. And it’s not only choosing the right migration strategy. You need to find and assemble the team who will perform VB6 to .NET migration in the best way possible. You must make sure your code is prepared for migration and won’t need extra time for improvement.

What about VB6 to C# migration?

To learn more about how to migrate from VB6 to C# code, surf our blog articles.

Steps to consider before VB6 to .NET migration. By Abto Software

Steps to consider before VB6 to .NET migration

Code audit

It is always a good idea to check your software before migration. Are there code lines that do nothing and go nowhere? You will need engineers that have Visual Basic programming experience. Cleaning up your code before migration will save time for developers and the amount of expenses for a business.


Third-party controls check

There are third-party controls used with Visual Basic that are not compatible with .NET. If you continue using those controls, it can decrease your app performance and speed.


Quality Control

Quality Control is important during migration as well as before it. If your code is unclear and has many bugs, the better decision will be to choose a rewriting migration strategy. If you convert poor quality code VB6 to .NET automatically, you will have to spend too much time on bug fixing, so get an engineer that has Visual Basic programming experience to check the code. Otherwise, the business owner will lose both time and money.


Bug Fixing

This step is quite obvious. Better preparation before VB6 to .NET migration will help to reduce the number of bugs significantly. Do not postpone bug fixing to give your app users the best user experience.


Improving application

After successful migration and bug fixing, it is always a good idea to think about how you can improve your software. Isn’t it outdated? Does it cover all business needs? Are there some functions that need reimplementation?


Right team

VB6 to .NET migration is a necessary but painstaking process. Provided professionally, it brings growing opportunities for business. Make sure your development team is a team of professionals with good experience in .NET Framework. The best way is to choose a company that has Microsoft Certification and positive reference from previous clients.

Currently looking for a reliable VB6 migration partner?

Contact us to leverage professional VB6 migration services.

.NET Software Development Services
Abto is Gold Microsoft Partner. Use over 16 years of our team’s .NET experience to bring profit to your business.
VB6 to .NET Migration: Strategies, Challenges - Abto Software
Article Name
VB6 to .NET Migration: Strategies, Challenges - Abto Software
Why migrate from Visual Basic? How to choose VB6 to .NET migration strategy? Read answers from Abto Software .NET Framework experts.
Publisher Name
Abto Software
Publisher Logo


Why migrate from VB6 to .NET?

VB6 to .NET migration is necessary for every business that wants to stay on the market and be compatible. But as well as in any other business areas, it is crucial to entrust your software development to professionals.

Want to find out more about our experience? Check out case studies about award-winning e-Procurement and e-Sourcing software used worldwide, a suite of digital retail solutions for a Swiss retail software provider, and EMR & medical practice management software for our US customer.

Discover how .NET, .NET Core and ASP.NET development can benefit your business! 

Contact us for VB6 to .NET migration services by filling out the form below.

Contact us

Tell your idea, request a quote or ask us a question