The modernization of Visual Basic application

Grzegorz Papaj , 1 March 2019

Visual Basic application

Back in the days when web technologies were not commonly used, one of the most popular technologies for developing business applications was Visual Basic. Today there are still many systems written in this language, although their days are numbered. Microsoft has not officially supported the VB 6.0 development environment for over a decade.

Lack of VB 6.0 support – what does it mean?

A lack of support does not mean that applications written in Visual Basic don’t operate correctly. Microsoft still ensures that programs written in Visual Basic 6.0 work and in the near future will work not only on old versions of Windows and new ones, up to and including Windows 10. In fact, Microsoft only ended support for Visual Basic 6.0 IDE starting with Windows Vista.

The thing is, VB 6.0 IDE is used not only to create new Visual Basic applications but also to modify existing ones. And while it is possible to run the Visual Basic IDE for some newer Windows family systems, Microsoft does not guarantee that they will work properly. Also, applications written in VB6 only compile to 32-bit programs, while today 64-bit processor architecture is mostly used.

More about support for Visual Basic is on the official Microsoft website.

In practice, the lack of support means the possible malfunctioning of all solutions written in Visual Basic 6.0. Although applications written in VB6 still work and potentially can continue to work for many years, their modification will be more and more troublesome, because it will be increasingly difficult to run the development environment. The most common workaround is to put up a virtual machine with Windows XP, on which the VB 6.0 IDE runs properly, which is organizationally troublesome. This is because it is more and more difficult to obtain Windows XP. That is why it is wise to think in such a situation about migrating to new technology.

Visual Basic 6.0 migration

To migrate a system from VB6 to new technology, follow these steps:

  1. Overcome current problems,
  2. Define a development plan,
  3. Choose the target technology,
  4. Perform the migration.

Overcome current problems

Systems are only considered old when they start having problems which cannot be easily fixed. In general, if something is wrong with the system, fixing the current problems should be a priority, so the company can think about the next steps. What is more, after such a turn of events, a company might start to rethink its business and consider the application as outdated.

Development plan

Migrating an application to newer technologies requires thorough planning. Sometimes companies may consider adding more features to the already existing system. They might even have a list of such changes. However, they should rethink this idea and take into account the development of trends and technologies.

The target technology

The target technology is something that should be analyzed and chosen carefully because there are countless possibilities. The best solution is to choose technologies that will not become outdated quickly.

Classic Visual Basic has left several heirs. The most important are:

  • Visual Basic .NET,
  • VBA or Visual Basic for Applications,
  • VBScript.

Visual Basic .NET, one of the languages of the .NET platform, significantly extends the capabilities of VB6, while maintaining a similar syntax. It is a stand-alone general-purpose language. VB .NET ensures that Visual Basic implementation will be in use for a long time.

VBA is a Visual Basic implementation used to write MS Office extensions (most often MS Excel). Due to the lack of possibility to compile to standalone programs its use is quite severely limited.

VBScript was supposed to be an alternative to JavaScript, a language extending the functionality of websites. Unfortunately, it did not gain recognition among developers and is currently not supported by most browsers (including the newest Internet Explorer).

Besides those mentioned above, many technologies from languages to frameworks can be considered for migration. As the selection is broad, a company can choose from Java technologies, other .NET languages, tools such as SharePoint, or open-source solutions, among which the most popular nowadays are Python (especially Django), Ruby on Rails, PHP (mainly Laravel, Symfony, Yii, and Zend), and JavaScript (e.g. Angular). A good software development service provider will definitely help a company to choose the right solution.


At this point, it is time to start the migration process. First, the new system is created, and then all the data is transferred. Finally, the new system is launched and can be used by the company.