Visual Basic 6 (VB6)
The last classic Visual Basic (1998). Its development environment lost support in 2008, yet many business desktop applications still run on its runtime.
Pronunciation
What is it
Visual Basic 6 (VB6) is the last version of Microsoft’s “classic” Visual Basic, released in 1998. It let you build Windows desktop applications by dragging buttons and forms onto a canvas and writing the logic behind each event.
That ease of use made it very popular in companies: billing, inventory, receivables, and production control systems were built quickly with VB6. Many are still in use today, and the challenge is that the tool they were built with is no longer supported.
A Bit of History
- Visual Basic 1.0 shipped in 1991; VB6 (1998) was the last classic version.
- Its successor, Visual Basic .NET, is a different language and is not backward compatible: moving from VB6 to VB.NET is not “open and recompile”.
- VB6 relies on COM and ActiveX (OCX) controls, many of them from third parties.
What Is and Isn’t Supported
Microsoft separates the development environment from the runtime. According to its official support statement:
| Component | Status |
|---|---|
| VB6 IDE (the development environment) | Unsupported since April 8, 2008 |
| VB6 runtime (what runs the apps) | Supported for the lifetime of supported Windows versions, including Windows 11 and Windows Server 2025 |
| Third-party controls (OCX/ActiveX) | Not supported by Microsoft; up to each vendor |
Microsoft describes its goal as “It Just Works” compatibility for existing VB6 applications, but support is limited to serious regressions and critical security issues. The runtime is also 32-bit only (on 64-bit Windows it runs in the WOW emulation layer). Microsoft itself strongly recommends replacing these applications with modern technology.
Why It Matters for Your Company
An app that “still opens” isn’t necessarily healthy:
- No supported way to develop: there is no supported method to create or maintain VB6 apps
- Fragile dependencies: an OCX from a vendor that no longer exists can break with an update
- Scarce talent: fewer and fewer developers know VB6
- Isolation: integrating with the cloud, mobile apps, or AI services requires costly bridges
- Security and audit: hard to meet current authentication and traceability standards
In mid-sized Latin American companies it’s not unusual to find a custom VB6 system built decades ago that is still the heart of operations, maintained by a single person.
Common Mistakes
❌ “If it works, don’t touch it” → Risk grows silently: the day a control fails or the person maintaining it leaves, there’s no plan B
❌ Running an automatic converter and calling the migration done → Tools help, but the output usually carries the same structure and technical debt
❌ Migrating without an inventory of OCXs, DLLs, and reports → Grid, printing, or reporting controls are often the hardest part to replace
❌ Copying the desktop interface as-is → It’s the opportunity to redesign workflows for web and mobile
Practical Example (illustrative)
A distributor uses a VB6 system with SQL Server for invoicing and inventory. One possible modernization path:
- Inventory: forms, modules, OCX controls, reports, and SQL queries
- Separate the logic: extract business rules that currently live inside form events
- Build a .NET backend with APIs over the same database
- New Angular frontend module by module, starting with the highest-value one (for example, inventory lookup)
- Coexistence of both systems following the Strangler Fig pattern until VB6 is switched off
Do your operations depend on VB6? At Nextsoft we support these projects together with specialized strategic partners: the partner carries out the migration and Nextsoft delivers new modules, integrations, frontend and QA. Check out the legacy system modernization service or contact us.
To weigh your options and plan a phased migration, download the free playbook VB6 to .NET: decision guide and migration path (PDF).
Related Terms
- Delphi - Another desktop RAD tool from the same era
- PowerBuilder - Client/server platform contemporary with VB6
- Technical Debt - What accumulates when modernization is postponed
- Strangler Fig - Pattern for replacing the system piece by piece
- API - Key piece for letting old and new systems coexist
Additional Resources:
- Microsoft - Support Statement for Visual Basic 6.0 - Official support policy for the IDE and runtime