How To Make 32-Bit Apps Work on 64-Bit Windows
The first Windows systems used a 16-bit MS-DOS based kernel to run a graphical shell in order to access the system’s services. If that last sentence sent you scrambling for a tech glossary, put your mind at ease. The information in this article will be accessible to experts and laypeople alike. You may have experienced some issues when running a 32-bit application in a 64-bit version of Windows. If so, read on to learn about why this is happening and how to fix it.
Some Necessary Concepts
The simple fact is that you shouldn’t be having this problem in the first place. Windows has an emulator which—if working correctly—provides the necessary environment for both 64 and 32-bit applications to run normally. This emulator (WOW64) segregates 32-bit applications from 64-bit ones to prevent file and/or registry collisions. On a technical note, 32-bit processes cannot execute 64-bit DLLs, so this may be causing your issue.
Something to keep in mind is that you might actually be running a 16-bit application, which definitely will not work. A quick way to check if a program is 16-bit is to navigate to its location on your computer. Right-click on it and select Properties from the drop-down menu. If the properties tab has a “Version” or “Previous Versions” tab, it isn’t a 16-bit application.
Making It Compatible
The first thing you should try when you set out to run any software that has compatibility issues is to run it in Compatibility Mode. There are very few problems that this realistically fixes nowadays, but it was a very useful feature when Windows 95 was replaced by NT.
To run an application in Compatibility Mode, navigate to it in the file explorer and right-click it. Same as above, click on Properties from the menu. Under Properties, click on the Compatibility tab. Click the box that says “Run this program in compatibility mode for:” and select the Windows version you want to use. Then, click Apply and try to run your application. There should only be a handful of options so try to go through them all.
Enable 32-Bit Applications
To be thorough, you can make sure that 32-bit applications are enabled in your Windows services. To do so, follow these steps:
- Start by accessing Windows Features by typing “windows features” into the Windows search box and selecting the bests match.
- Check the box that reads Internet Information Services and click OK. It will take a minute to install this feature
- Launch the IIS Manager by typing “internet information services” in the Windows search box and selecting the best match.
- You will see your computer’s name in the left window, expand it and click on Application Pools.
- In the right window, right-click on DefaultAppPools and selects Advanced Settings.
- Select “Enable 32-bit Applications” and change it from False to True.
- Click OK and restart your computer.
Once you complete this, try running the application again. If your WOW64 is working correctly, this shouldn’t be necessary but it has proven to be effective in some cases.
Incorrect Program Files
Older programs sometimes get the installation mixed up and their files can end up in the wrong folder. This is particularly difficult to detect because the installation will seem to have gone off without a hitch.
On 64-bit versions of Windows, all 64-bit applications are installed in the “Program Files (x86)” folder. This includes any files related to the installed application. However, 32-bit programs end up in a separate folder titled “Program Files.” If the paths are incorrectly coded in the installation, the application may have installed in the wrong folder.
Fixing this should include editing some of the installation code but you don’t have to do that, and you may not be able to get to the source code anyway. For a makeshift solution, simply find the installed files and copy them manually into the “Program Files” folder.
Shave and a Haircut, Two Bits
These are just some of the problems you could be facing when running a 32-bit application. But again, it cannot be emphasized enough that this should never happen, as measures are in place to prevent it. It’s far more likely that you’re dealing with some other compatibility issue. If you’re very confident that the register is causing problems, start with the solutions outlined in the article.
Have any of the methods in the article been helpful? What made you sure that the 32-bit register is really what is causing your problem? Share your reasoning in the comments below.