So now that I’m playing World of Warcraft again, I had to go grab the expansion that’s out now (Burning Crusade) to prepare for Wrath of the Lich King that hits in November. I figured the easiest thing to do would be to head over to Windows to install and patch up again since I figured there might be something odd with the installer/patcher and Linux, so I didn’t take any chances.
Grabbed everything, installed, and ran completely successfully in Windows, though its performance made me quickly want to head back over to Linux. Which I did.
Unfortunately, trying to run it in Linux gave me a curious error:
This application has encountered a critical error:
File not found
Program: C:\Program Files\WoW\Wow.exe
File: .\Client.cpp
Line: 2840file: signaturefile
Apparently a file called signaturefile was nowhere to be found, which was odd, since everything worked fine in Windows. I tried a few combinations (running from a pristine .wine directory, for one) but nothing seemed to work. So I tried running the repair.exe to no real effect, which made me start searching. First thing I found: someone suggested deleting some of the patch pack files in WoW and running repair to allow it to repatch. That sounded quite time-consuming, but was looking like my only hope…
until someone said the answer was actually much simpler. Even though Wine tries its best to be case-insensitive when looking for programs and files, at times it just can’t be as mind-numbingly case-insensitive as Windows because, after all, we are still in a Linux environment which (correctly) requires precise case for a filename. The culprit: the patch.mpq file which holds the data for the patches. WoW was looking for “patch.MPQ”, but the Windows patcher had named it “patch.mpq”. Being on a FAT32 partition, simply renaming the file didn’t work (since, for FAT32, Linux thinks it’s the same file to, again, appease Windows), but moving it elsewhere as patch.MPQ then moving it back worked perfectly.
World of Warcraft ran without a hitch after that, and everything is great again.
Windows, I curse you and your immature file system that lazily does not enforce case sensitivity. Yet another example of why Windows needs to start over a la OSX.