Tutorial Windows: Running Old (16-bit and 32-bit) Programs on a 64-bit Windows

Just like any other hardware component, the CPU has gone through some serious upgrades in the past few years. It’s not just about the number of cores, but the architecture has a greater saying in how everything runs, or if.

You’re probably aware by now that even the operating system molds around the CPU architecture, with versions for both 32-bit, and 64-bit processors. However, the 32-bit architecture isn’t the first, with 16-bit processors once ruling the world of IT.

What’s more, some applications are still built on the outdated architecture and can create compatibility issues with modern versions of Windows, despite Windows 10’s enhanced compatibility options. Chances are you can’t even get to see the application’s set of features because the installer itself can be on 16-bit.

Running old programs on new systems

Despite that technology is moving forward at an alarming rate, applications can’t just be switched to 64-bit versions. Luckily, Windows comes with a handler that is specially built to enable compatibility with 32-bit apps, namely the WoW64 compatibility layer. It enables you to run most 32-bit applications just as you normally would on a corresponding operating system.

The downside of having an application on the older architecture is that it can only benefit from a maximum of 2GB of memory, and most don’t even need a quarter of that amount. Video games, on the other hand, are mostly built on the 64-bit architecture, but older ones aren’t.

Run as Administrator

Sure enough, it’s best to install the video game or application for the right architecture if you want to avoid any potential compatibility issues. If there’s no other way around, it might have something to do with a component that still relies on the 16-bit architecture.

Running as administrator might be the first attempt at solving any compatibility issues. Even if the account you’re using has administrator rights, some applications are built to fail at launch in an attempt to prevent access to regular users.

Doing so only requires you to work with the context menu. There’s an option that clearly points out to Run as Administrator, with the UAC prompt immediately asking for confirmation. What’s more, you can make it always run this way, with the possibility to apply this to all users.

Tweaking compatibility settings

The option to always run a program with administrator privileges is brought by the built-in Windows compatibility system. You can read more about running applications under compatibility settings here, and there’s a high chance this might solve those issues with programs that stubbornly refuse to work.

The first time you run an application with compatibility settings, Windows monitors activity, and on exit, you’re asked whether or not it worked out just fine, or if you want to launch the compatibility troubleshooter for more options.

Drivers and other dependencies

Video games in particular heavily rely on drivers and other software components to make proper use of system resources, and for you not to experience any in-game technical difficulties. Most attention needs to be paid to drivers, because you can’t just install a 32-bit driver on a 64-bit operating system, or the other way around.

However, there are some situations where there’s absolutely no solution other than having that specific driver installed, but unless it’s digitally signed, Windows won’t let you install it. Luckily, you can manipulate it to let you.

All you have to do is press the Power button, hold down Shift and press Restart. In the prompt screen, choose to Troubleshoot. Then, go to Advanced Options, pick Startup Settings, and hit the Restart button in the bottom right corner. When the Startup Settings screen shows up, a set of options is put at your disposal, with one that lets you Disable Driver Signature Enforcement, so press F7 to trigger it, and you can now install all kinds of drivers, just be careful what you opt for.

Dependencies can also mean software products that hold various libraries required for some processes to function. You don’t really need them for default Windows activities, and that’s why they’re not there. For instance, some apps require Microsoft Visual C++ Redistributable Package. It comes with versions for both 32-bit and 64-bit architectures, but it’s best to install both of them, because the target game or program looks for the one it needs, not the one that corresponds to your system, and no compatibility issues occur if you keep them both.

Running 16-bit apps and games

Truth be told, there’s no actual method of making 16-bit applications or games work without some special tweaks. Windows on 64-bit architectures doesn’t support them at all, since the WoW16 layer is not implemented, and trying to copy it from a 32-bit version of Windows doesn’t help either.

The bad part here is that even if the application itself is built on 32-bit architectures, you still can’t make it run if the installer is on 16-bit. A prompt appears and lets you know that This App Can’t Run on Your PC.

On the other hand, running a 32-bit version of Windows doesn’t cause any of these issues with 16-bit apps. However, it’s bad practice keeping a whole different operating system just for a single application or game, but you can install one in a virtual machine. Moreover, it’s possible to configure specialized applications like DOSBox for better compatibility with 16-bit programs and video games.

A few last words

In any case, Windows 10 shows some signs of improvement, at least when it comes to compatibility, even if it’s still not capable of natively running 16-bit apps and games from a 64-bit edition. This isn’t an issue you run into on a daily basis, but it’s good to know the workarounds in case you do happen to depend on such an old computer software product.

Wagiman Wiryosukiro

Petani Sistem Informasi, tukang las plugin & themes Wordpress. Co-Founder SistemInformasi.biz. Saat ini aktif sebagai Developer & kontributor di OpenMandriva Linux.

You may also like...

%d bloggers like this: