I finally succumbed and bought a copy of Diablo 3 today, only to found out that it just doesn’t work:
Argh! No matter what I did, it would always crash. Every single time, over and over and over and over again.
In a last act of desperation before borrowing the DVD from a friend to try and load it that way, I had some Raymond Chen style psychic insight and thought it might be a multithreading bug. You see, I just put together a brand new Dual Xeon E5-2687W system. It is a beast: dual processor, 8 cores each, with HyperThreading. That means Task Manager shows 32 tiny little performance graphs. It makes compiling Paint.NET really fast (lots of C++/CLI these days), and is killer for working on all that multithreaded rendering code.
Anyway, the fix is a bit clumsy but it seems to work (so far! we’ll see if it still works after all the downloading is done):
- Download the “Diablo-III-Setup-enUS.exe” as usual, from Blizzard’s website.
- Run it, as usual (double click on it).
- When you get the UAC prompt, do NOT click Yes (yet).
- Instead, open up Task Manager and find the program in the “Processes” tab (Diablo-whatever.exe)
- Right click on it and then click on the “Set Affinity…” command.
- Make sure only 1 of the CPU’s checkboxes is enabled. If you’re on Windows 7, just click the “<All Processors>” node to uncheck everything, and then click on “CPU 0” to enable it. This will lock the program to just 1 CPU core/thread, minimizing the risk of the hypothesized multithreading bug.
- Now you can click on Yes in the UAC prompt… and tada, it should work.
I found some battle.net forum threads where tons of people are having this issue, and it goes on and on for pages and pages without any fix for the poor souls (so to speak).
Once it starts downloading you’ll probably want to do the same thing for “Blizzard Launcher.exe” except that this time you’ll 1) have to click the “Show processes from all users” button (bottom of Task Manager in the Processes tab), and then 2) enable all CPUs instead of having any of them disabled.
Hope this helps anyone else who’s having this frustrating problem.
Update: Once Diablo 3 finished downloading, it still would not start after clicking the Play button. “Diablo III.exe” would pop up in Task Manager, and then silently disappear a few seconds later. According to the Windows Event Viewer, it was crashing. However, I did get it to work, and the trick is to “Set Affinity” on explorer.exe and give it something like 4 of the CPU cores. Since processor affinity is inherited, running Diablo 3 from within Windows Explorer (aka your desktop) now works. Hey Blizzard! Try testing on something more than a dual core Pentium D!