Move to a new PC or upgrade to Windows 11 and a familiar thing happens: the company's old accounting software crashes on launch, a ten-year-old game shows a black screen, or a dialog complains that msvcr100.dll is missing. The machine is not broken. In most cases the old program simply does not recognise the new system. This guide sorts the symptom first, then gives an order to try, from simple to involved, and most old programs come back to life.
What Is a Compatibility Problem
A compatibility problem is a program that ran fine on an old system but refuses to run on a new one. Usually it depends on an interface, runtime library, or permission that the new system handles differently.
- The program calls Windows 7 or even XP interfaces that Windows 11 no longer provides in the same way.
- It relies on an old runtime the new system does not ship, so it reports a missing DLL.
- High-DPI scaling, fullscreen mode, and newer permissions make the old interface misalign or get blocked at launch.
Work out whether it crashes, goes black, or reports a missing file, and the direction is clear. These symptoms point at different causes, so naming yours saves you from trying fixes that will not help this program.
What It Does
Fixing an old program is really about building a bridge between two systems so the old code can still be caught by the new one.
- Compatibility mode makes the system pretend to be an older version, getting past the program's version check.
- Run as administrator supplies the permission to write the registry or the program folder.
- Installing runtime libraries and components puts the missing parts back.
- High-DPI and fullscreen switches target a blurry or misaligned interface and black screens in old games.
- As a last resort, a virtual machine gives the program a genuine old system.
Each one turns a single assumption back to what the program expected.
When to Use
These are the cases that come up most.
- An old accounting, tax, or industrial program will not open on the new machine.
- A ten-year-old game goes black, shows garbled graphics, or freezes on input.
- Launching it reports a missing MSVCP or VCRUNTIME DLL.
- An internal company system needs Internet Explorer or an old WebView to load.
- An old hardware driver will not install, reporting that it is unsigned.
If that is you, do not jump to reinstalling the system. Start with the next section and work down the list in order, because most of these are fixed by a setting change long before you reach a virtual machine.
Before You Start
Note three things first and save yourself a detour.
- Write down the exact error text and when it appears, whether at launch or at a later step.
- Check whether the program is 32-bit or 64-bit. A 64-bit system runs 32-bit programs, but not the other way around.
- If you can, create a system restore point so there is a way back before you change compatibility settings.
The compatibility tab is the same on Windows 10 and Windows 11.
| Item | Windows 10 | Windows 11 |
|---|---|---|
| Compatibility tab | Right click > Properties > Compatibility | Same |
| Compatibility troubleshooter | Settings > Update and Security > Troubleshoot | Settings > System > Troubleshoot |
Step-by-Step
Try these from simple to involved, checking the result after each one. Do not tick everything at once.
- Right click the program or
.exe, open Properties > Compatibility, tick run in compatibility mode, pick Windows 7 or XP SP3, then relaunch. - On the same page, tick run as administrator. This fixes old software blocked when writing to
C:\Program Filesor the registry. - On a high-DPI screen with a blurry window, open change high DPI settings, tick override high DPI scaling behaviour, and choose Application.
- For an old game that goes black or freezes on input, tick disable fullscreen optimisations. This often fixes it straight away.
- If that fails, run the compatibility troubleshooter. Right click the program, choose troubleshoot compatibility, and Windows tests the modes.
- For a missing DLL, install the full Visual C++ runtime set, covered in Missing MSVCP140.dll or 0xc000007b, then enable .NET Framework 3.5 if needed.
- For an internal system tied to Internet Explorer, open IE mode in Edge and add the site. For old WebView, install the matching WebView2 Runtime.
- For programs that only know XP or Windows 7, install that old system in a VM and run them there; see Run Virtual Machines on Windows.
If a program reports a virus, do not switch protection off. Add an exclusion through Windows Security Center and Defender and try again; trading safety for compatibility is never worth it.
FAQ
Can I tick every compatibility option
No. Tick one or two at a time and check. Ticking everything can make the options conflict, and you will not know which one caused a problem.
A program reports a virus. Can I turn protection off to run it
Do not. Add an exclusion first and try again. Turning off protection just to run an old program puts the whole machine at risk.
An old driver says it is unsigned
Use test signing mode for the moment with bcdedit /set testsigning on, then switch it back to off when you are done. Do not leave it on.
An old program broke after an update
An update likely changed a component. Uninstall or roll back that update first, then consider reinstalling the program.
How It Works
To improve security and multitasking, newer Windows changed a number of defaults that older systems relied on. An old program assumed it could write to its program folder, call old graphics interfaces, and lay out at 96 DPI. None of those assumptions holds on Windows 11.
Compatibility mode, administrator rights, high-DPI override, and disabling fullscreen optimisations each turn one system behaviour back to what the program expected. Installing runtime libraries puts back the parts the program once bundled. A virtual machine goes furthest by supplying a whole old system. See that chain and you will try one thing at a time by symptom, rather than reinstalling the system on a whim.
Conclusion
When an old program will not open, sort by symptom. Crashes point to permissions and the compatibility layer, a missing DLL means install the runtime, a black screen means turn off fullscreen optimisations, and a virtual machine is the last resort. Check after each step and most programs can be saved. Do not turn off protection for an old program, and do not rush to reinstall. Work through the order here before you conclude anything.