Sometimes it's hard to figure out what the actual problem is, if software refuses to install. So it was this time as I was about to update my 10 month old WoW-Client from Version 4.x (Cata) to the current 5.0.5 (MoP) on OS X 10.6.2 Snow Leopard.
Yes I'm still using 10.6.2! I have to, due to the broken support for my graphics card at higher patch-levels. And yes it is a so called hackintosh but for now that is not my topic.
However, spoilt by the flawless Blizzard-Updates in the past I wasn't expecting any trouble but far from it. Unsuspecting I started the obsolete launcher and lent back. The launcher started its update-process but on some point nothing else happened.
Because I already installed the client from scratch several times I didn't think twice, just logged in to my battle.net account and loaded the setup files for the Mac. After launching setup and permiting several apps for internet-access through my firewall I got to see a mysterious message, the error code was
BLZPTS00007
It was saying that some required app was not running and that I should wait and retry and if it didn't help, I should restart my computer. I followed those proposals but to no avail. The error persisted.
Some google searches later I stumbled uppon a thread in the official Diablo III Forums and from there I was pointed to the following documents:
https://eu.battle.net/support/en/article/diablo-iii-launcher-and-startup-errors
https://eu.battle.net/support/en/article/blizzard-agent-troubleshooting
But wait, what the hell has Diablo III got to do with World of Warcraft you will ask. Well, this question is answered in the seccond support article:
The Battle.net Update Agent is designed to make game launching and patching more efficient, especially if you have multiple Blizzard titles running on your computer. Currently, Agent is required for Diablo III, StarCraft II, and World of Warcraft: Mists of Pandaria, and must run in order for those titles to play properly.
So far so good, but what did prevent the Agent from running? I checked out several log-files in my old WoW directory - didn't know about other log-file-locations yet - but couldn't find any hint.
Skimming the troubleshooting article I found two measures which sounded promising:
- The first one I tried was Delete the Battle.net Cache Folder. This one pointed me to the actual location of the Agent.app (/Users/Shared/Battle.net/Agent/) and also to further log-files (/Users/Shared/Battle.net/Agent/Logs). After reading those new log-files I still had no clue what was going wrong with the Agent. So I just renamed (not deleted) this folder and guess what, the error still was there!
- Now I reluctantly headed for the seccond proposal Update Adobe Flash Player. Reluctantly, because I dislike the Flash Player and disabled it a long time ago. Even after installing this piece of malware the Agent didn't start.
On the verge of despair I took a closer look at the /Users/Shared/Battle.net/Agent/ directory. Here there were two subdirs Agent.1040 and Agent.1363. In both directories was an Agent.app. While the Agent.app in the Agent.1040 directory had a normal icon, the Agent.app in the Agent.1363 directory had a white stop-sign layed over it.
Just like a downloaded App which required a first-time-permission to run.
So out of curiosity I clicked both of them: The 1040-App started just fine but nothing seemed to happen. The 1363-App on the other hand complained about my OS X Version, it required at least OS X 10.6.8 to run. That was the hint I was looking for!
Now that I most likely found the cause of the problem, I still didn't have a solution for it. So I dove into the App and viewed its' package contents. Under /Contents there was an Info.plist which I took a closer look at. I opened it with TextEdit and was looking for the OS version requirement key. And there it was:
<key>LSMinimumSystemVersion</key>
<string>10.6.8</string>
I didn't know if it was sufficient to change that value to 10.6.2 or if there was another location for it. So I just tried it. At first it didn't seem to work out as expected. I clicked the icon of the 1363-Agent-App and was still presented with the OS X 10.6.8 required message.
Among other files and directories there was an /Contents/MacOS sub-directory within the 1363-Agent-App. There was a /Contents/MacOS directory within the 1040-Agent-App as well. Just like the Info.plist it seems to belong to the common OS X App-structure. That /Contens/MacOS directory on the other hand contained an executable file called Agent. It is a console-type-application, I already tried it before I edited the Info.plist. It didn't work then, it terminated with some output in the console window it opened.
After I've changed the Info.plist with <string>10.6.2</string>, the Agent executable completely changed it's behaviour. Instead of terminating it just went on and printed some verbose output to it's console window. The output showed some serious patching that was going on! After the Agent had finished, I just restarted it by running the Agent console-application sitting under /Contents/MacOS again. This time and every consequent time I tried it, it only claimed that the files were up to date already.
So now, that the first stage of patching was done, I checked my /Applications/World of Warcraft directory. Indeed, the Launcher.app and the both World of Warcraft apps (32 and 64 Bits) had changed. While the Launcher.app still had it's normal icon, the icons of the World of Warcraft apps changed. They both had the white stop-sign overlay like the 1363-Agent.app before. A quick test showed that both World of warcraft apps now also required OS X 10.6.8.
I started the Launcher.app, the content download was not finished yet but it was already playable, i.e. the "Play" button was available. But most of all it didn't complain about the required and not running app (which was the 1363-Agent) anymore. It somoehow knew that it was up to date now and thus didn't even try to run the Agent. Because if it would try to run it, the same BLZPTS00007 message would reoccure. The only way to execute the higher version (1363) of the Agent, which required OS X 10.6.8 was by editing it's Info.plist and manually running /Contents/MacOS/Agent, as described above.
Now I wanted to see if I could start the game through the Launcher.app by clicking the "Play" button. It didn't work either, the same OS X 10.6.8 required dialog showed up. So I went for it and edited the Info.plist files of both World of Warcraft apps. It still wasn't launchable through the Launcher.app but the manual way by starting /Contens/MacOS/World of Warcraft beneath the World of Warcraft.app now worked just fine!