Recently I was working with a client and we were talking about “shimming” an application using Microsoft’s Compatibility Administrator so it worked in Windows 7 .  We ran into an odd error.  When we tried to shim one of their apps we got the error “This version of the Compatibility Administrator only supports applying compatibility fixes to 32-bit applications.  Please use the Compatibility Administrator (64-bit) tool to apply this fix to your 64-bit applications”.

The OS is 32-bit and we’re using the 32-bit of Compatibility Administrator so we were confused on what was wrong.  After researching the problem it turned out the app was a 16-bit app ! ! !  I’m withholding the name of the application because it’s $3,000 per license, a MAJOR company owns it, and customers can still buy the 16-bit version to this day.  The client can buy an updated version of the software but the older version runs on Windows XP, it’s cheaper than the 32-bit version, and the end results are the same.  I’m a little irked that a company is still selling a 16-bit version of their software to customers.  Windows 95 came out 16 years ago.

The OS is 32bit.


Compatibility Administrator is 32-bit and you can see the error.


Learn How to Spot a 16-Bit Application
Because most Windows 3.x–based programs run properly under Windows XP, it’s sometimes difficult to tell 16-bit and 32-bit applications apart.
Here are two methods for determining whether an application is 16-bit or 32-bit:
Right-click the program’s executable file and then choose Properties. If you see a Version tab, it’s a 32-bit program.
Or, if the program is running, press Ctrl+Shift+Esc to open the Windows Task Manager. On the Processes tab, look in the Image Name column for the name of the program’s executable file. If any 16-bit programs are running, you’ll find an entry for Ntvdm.exe, the virtual DOS machine. Just above it in the list, you’ll see indented entries for Wowexec.exe (the Windows on Windows subsystem) and the executable name of each 16-bit program running in that virtual machine.
Tip taken from Microsoft Windows XP Inside Out by Ed Bott and Carl Siechert. Published by Microsoft

Calc is 32-bit, the other one is not because no Version tab.


NTVDM.exe and WOWEXEC.EXE says it’s a 16-bit app.


Well there you have it.  You can’t shim a 16-bit app.