How to get old 16-bit Windows games to work on 64-bit Windows?

Trying to play some old Windows 95 games on Windows 7 64-bit, I'm getting the following error:

The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.

Trying to run the application in compatibility mode has no effect. I'm guessing these games somehow rely on 32-bit dlls which are missing from my system, and I would like to know if anyone else has encountered a similar problem and is able to give insight as to possible solutions or work-arounds.

Notes:

  • I've checked this question but it discusses system requirements and not actual application invocation.
  • The games in questions are Metal Marines and Fire Fight, but I'm sure many more might be affected.
  • The error message above is not game-specific, it comes directly from Windows itself.

It's actually quite likely that these games are relying on old 16-bit DLLs. A lot of early 32-bit software relied on old 16-bit DLLs for some functions, as they did the job, they weren't used in a performance critical part of the software and there was no need to look for 32-bit versions. (for example until fairly recently the install software was often 16-bit, so much so that Win7 actually detects that and silently replaces with it's own 64-bit version of the old DLL).

Have you looked at Windows 7's XP Mode? This runs an entire copy of 32-bit Windows XP within your Windows 7, letting old programs run within XP without the program knowing it's on a 64-bit Win7 machine at all, and as it's all integrated you will hardly notice that it's running in XP.

Windows 7's XP Mode: what it is, how it works, who it's for


16-bit games will not work on Windows 7 64-bit as it lacks WOW (Windows on Windows), a program included with 32-bit Windows NT versions (including XP) that provided support for legacy 16-bit applications.

The 64-bit versions of Windows have their own emulator: WOW64, which allows now-legacy 32-bit applications to run on the 64-bit operating system.


Updated answer, just in case anyone stumble with that question in 2021 or later:

You can play Windows 16-bit games in a 64-bit Windows computer by using DOSBox-X. Install Windows 95 (or Windows 98, depending of the game requirements) inside a DOSBox-X virtual disk, and use it to install and play the game.

  • https://dosbox-x.com/wiki/Guide%3AInstalling-Windows-95

  • https://dosbox-x.com/wiki/Guide%3AInstalling-Windows-98

You may need to do some tweaks in order to get the best performance of that game, but that will make you capable of playing the game without using a dual boot. You may also be able to add the game launch to Windows 96/98 startup, which will give a more immersive experience.

DOSBox is basically a virtual machine, so the game won't have access to the same amount of resources as if it was being played in a 32-bit dual boot, but seriously, if it's a Windows 16-bit game, it won't demand that much anyway.