Modernise a VB6 application without rewriting the business twice

Your VB6 application still runs. That is probably why it has survived this long.

The problem is usually not the executable itself. It is the developer who has left, the ActiveX controls nobody wants to touch, the old database connection, or the next Windows change that nobody wants to test.

We start with the application you have and work out what should stay, what should move and what actually needs to be rebuilt.

Still relying on a VB6 application?

You might recognise one of these:

  • The original developer has left
  • The application is business-critical but poorly documented
  • Nobody wants to make changes because they are afraid of breaking it
  • An old OCX, COM component or third-party library is becoming difficult to maintain
  • The application still works but needs to integrate with newer systems
  • You want to move to modern .NET but cannot stop the business for a large rewrite
  • You only have the source code, an installer, or an old development machine

You do not need somebody to tell you that old software is old.

You need to know what can safely remain and what the sensible migration path looks like.

VB6 still runs. Development is the problem.

Microsoft continues to provide compatibility support for the core VB6 runtime on supported versions of Windows.

The VB6 development environment itself has not been supported since 2008.

That distinction matters.

An existing application can continue running while becoming increasingly difficult to maintain because the source, build environment, ActiveX controls, integrations and people who understand it are disappearing.

That is the risk we assess.

Three sensible outcomes

1

Stabilise what you have

Sometimes the right answer is not an immediate rewrite.

We can document the application, recover the build process, identify external dependencies, test it on a supported Windows environment and fix the highest-risk areas.

That can buy the business time to plan properly.

2

Keep VB6 but move the edges

The core application may continue doing its job while new integrations, APIs or services are built alongside it.

That can reduce risk by moving one function at a time instead of replacing everything in a single release.

3

Replace the application

When the VB6 interface and codebase have become the constraint, we can rebuild the application on modern .NET while retaining the business rules and data that still matter.

A rewrite should replace the technology, not rediscover twenty years of business logic from scratch.

What we assess first

We start with the system rather than a preferred destination.

We look at:

  • VB6 source and project files
  • Forms and modules
  • COM and ActiveX dependencies
  • Third-party OCX controls
  • Database technology and schema
  • Crystal Reports or other reporting tools
  • File shares and scheduled processes
  • External systems and integrations
  • Windows version and deployment process
  • The business workflows people actually use

From that assessment we can recommend whether to stabilise, integrate around or replace the application.

Migration without a big-bang cutover

A business-critical system usually cannot disappear for six months while its replacement is built.

Where practical, we migrate in stages.

Data can move first. New APIs can sit beside the existing application. Individual workflows can move to a web application while the remaining VB6 screens continue operating.

The final cutover happens when the replacement has been tested against the real business process.

Why CoSource

Microsoft development experience

CoSource has worked with Microsoft business applications across older and current generations of .NET technology.

Legacy systems are normal work for us

We work with applications that businesses still depend on, not just greenfield systems.

Start with an assessment

We will not prescribe a rewrite before seeing what you have.

Australian accountability

CoSource is led from Sydney and works with Australian organisations on business-critical software.

What to bring to the first call

You do not need a complete technical specification.

A few basics are enough:

  • What the application does
  • Whether you have the source code
  • Which Windows version it runs on
  • Where the data is stored
  • Whether you know of any ActiveX or COM dependencies
  • Who still understands the application
  • What is forcing you to look at it now

FAQ

Can VB6 applications still run on Windows?
Yes. Microsoft continues to support core VB6 runtime compatibility on supported Windows versions. The VB6 development IDE itself is no longer supported.
Can a VB6 application be automatically converted to .NET?
Not reliably. Business logic can often be retained conceptually, but forms, controls, integrations and architecture normally require deliberate migration work.
Do we have to replace everything at once?
No. For business-critical systems, an incremental migration is often safer.
Can you work with an application if the original developer has gone?
Yes. That is one of the main reasons organisations come to us. Source code, a database, a running application or even an old build machine can be enough to start the assessment.
Should we move to .NET?
Possibly. The answer depends on the application, its dependencies and why it needs to change. We assess that before recommending the destination.

Still running a VB6 system?

Thirty minutes. Bring the application name, what it does and whatever source or documentation you still have.

We will tell you whether to stabilise it, modernise it in stages or replace it.

Book a free 30-minute discovery call