Okay – for a technical explanation of why you may see this error on Windows XP (when trying to run a 16-bit program) read this. Frankly, the information on the page to which I just linked is all Greek to me – I have virtually no understanding of programming. However, I did encounter this error on Windows XP when I tried to play an ancient, 16-bit version of “Pacman”. I actually like this idiotic game, but, it kept either (1) not opening, or, (2) crashing during the game. I have played this, for years, on Windows XP (service pack 3), and never had a any sort of problems. Why this suddenly cropped up is a mystery, to me. The error message looked like this:
The linked page, above, is fairly long-winded and technical. To fix this problem, what you have to do – in short – is replace your existing C:\WINDOWS\system32\wow32.dll file with a hacked version. I tried this thing, and, my computer seems to have suffered no ill effects (and I run web and mail servers from Windows XP). You want to be very careful replacing this file because if, somehow, you manage to delete the thing your computer will not boot/run. So, be careful. And, this is not a file with which you can tinker when Windows is running – when it is the mounted file system. The linked page suggests having a “parallel installation” of Windows XP to get all of this done. I have no idea what this means – at all. In my case, I used a Linux live disc (Ubuntu 10.04) to make the required edit.
Download the hacked wow32.dll file
You can download the hacked wow32.dll file, in a zip archive, by clicking here.
Using Linux to fix the problem
As I’ve already mentioned, the wow32.dll file is essential to the operation of Windows XP and, therefore, can neither be deleted nor tampered with while the system is actually running. I don’t know what the writer is talking about, on the linked page, when he refers to a “parallel XP installation”. I replaced the existing wow32.dll file using a Linux live cd.
This portion assumes that you have a familiarity with basic Linux, shell commands and that you have a Linux live CD. As I said, I used Ubunut 10.04. The paths I am using are for the purposes of demonstration, only. Actually, if you know anything about Linux you probably already know how this would be done. Maybe the following could help someone – I don’t know:
- From your Windows XP installation, download the new wow32.dll (on XP) and extract it to your Desktop (or anywhere where you can find it)
- Unzip the archive and, again, place the .dll file where you can find the thing
- Put a Linux live CD in your computer and boot into “live” mode
- Become the root user. If you use Ubuntu you’ll have to type the following to create a password for the root account:
12sudo passwd rootsu root
- As the root user, you can now mount the target hard drive. I create a folder on the live Desktop called “sda” – but it can be called whatever you like:
12cd /home/ubuntu/Desktopmkdir sda
- Now, you will have to determine the device name of your target drive – usually it’s sda1, sda2, or, sda5. Mount the filesystem:
1mount /dev/sda1 /home/ubuntu/Desktop/sda
- Now, navigate to your system32 folder and – I would recommend – rename your existing wow32.dll file to wow32.dll.bak.
12cd /home/ubuntu/Desktop/sda/WINDOWS/system32mv wow32.dll wow32.dll.bak
- Now, navigate to wherever you’ve downloaded the replacement wow32.dll file and copy the thing to your system32 directory – something like this:
12cd /home/ubuntu/Desktop/sda/Documents*and*Settings/Username/Desktopcp wow32.dll /home/ubuntu/Desktop/sda/WINDOWS/system32
Reboot and you should stop seeing the error when running 16-bit applications – that’s it.