← Back to blog
Troubleshooting

Why does my VB6 application crash on Windows 10 and 11?

By Adrian Schaal  ·  April 2026  ·  6 min read

You've upgraded to Windows 10 or 11 — or got a new PC — and now your VB6 application is crashing, throwing errors, or simply refusing to open. It's one of the most common calls I get from UK businesses. Here are the most likely causes and what you can do about them.

1. Missing or broken ActiveX components

VB6 applications rely heavily on ActiveX controls — small components that handle things like date pickers, grids, charts, and other interface elements. Many of these were made by third-party companies that no longer exist or no longer support their products.

When Windows is upgraded or a new PC is set up, these controls often don't get transferred correctly, causing errors like:

Runtime error 429: ActiveX component can't create object
Component not correctly registered

The fix usually involves locating the original .ocx or .dll files, copying them to the correct Windows folder, and re-registering them using regsvr32. This sounds simple but can be fiddly — particularly if the original installation files are lost.

2. 32-bit vs 64-bit compatibility issues

VB6 applications are 32-bit programs. Windows 10 and 11 are 64-bit operating systems, but they include a compatibility layer (called WOW64) that allows 32-bit applications to run. Most of the time this works fine.

However, problems arise when the VB6 application tries to use a component — such as a database driver or a COM object — that is only available as a 64-bit version. The 32-bit application simply can't use it.

This is particularly common with database connections, which brings us to the next point.

3. Database driver problems

Many VB6 applications connect to databases using older drivers — particularly Microsoft Jet (for Access databases) or older ODBC drivers for SQL Server. These can cause issues on modern Windows for a few reasons:

Runtime error 3706: Provider cannot be found. It may not be properly installed.

4. File and folder permission changes

Older VB6 applications were often written at a time when Windows was less strict about where programs could read and write files. They might try to write log files, settings, or data directly to the Program Files folder or the Windows directory — areas that modern Windows protects.

The result is usually a crash or silent failure when the application tries to save something. The fix involves either running the application as administrator (a temporary workaround) or updating the application to write to a permitted location such as AppData.

5. DPI and display scaling

Modern monitors — particularly laptops — use high-DPI displays and Windows scales the interface to make text readable. VB6 applications don't understand DPI scaling, which can result in blurry interfaces, buttons that are the wrong size, or text that overflows its container.

This doesn't usually cause crashes but can make the application difficult or impossible to use. There are workarounds involving Windows compatibility settings, and more permanent fixes involve modifying the application itself.

6. Windows security and UAC

User Account Control (UAC) in Windows 10 and 11 is stricter than in older versions of Windows. Some VB6 applications that previously ran fine now trigger UAC prompts or fail silently because they're trying to do something Windows no longer allows without administrator rights.

What to do if your VB6 application is crashing

Before calling a developer, try these steps:

If none of that resolves it, the issue is likely one of the component or driver problems described above, which usually requires someone with VB6 experience to diagnose and fix properly.

How long does a fix take?

Most VB6 crash fixes take between a few hours and a couple of days depending on the cause. Missing component issues can often be resolved the same day. Database driver problems and permission issues are usually straightforward once diagnosed. Display and DPI issues can take a bit longer if the application needs to be modified.

In almost all cases, the fix is much cheaper than replacing the system entirely — provided you can find someone who still knows VB6.

Is your VB6 application crashing on Windows 10 or 11? Get in touch for a free assessment. In most cases I can give you a good idea of the cause and a fixed-price quote within 24 hours.

Get a free assessment →