For Linux users, using WINE to upgrade World of Warcraft after the release of Mists of Pandaria has proven a bit tricky. If your update is crashing, you’re having problems with DNSAPI.DLL, or you’re hitting the dreaded ‘Agent.exe failed‘ message, don’t worry: here at MMO Melting Pot we’ve compiled a series of tweaks, fixes and solutions to get you up and running again.
Last updated: 26th September 2012 for Mists of Pandaria
If your installation isn’t playing ball, try the following steps, in order:
Step 1: Consider reinstalling from scratch
A fresh installation of WoW is often a good idea when a new expansion is released. If you have the time and the bandwidth, consider reinstalling World of Warcraft completely. By far the best way to do so is by using the online installer. You can download the installer from your Battle.net page. Then, just run wine World-of-Warcraft-Setup-enUS.exe (substituting the correct name of the installer if yours is different, obviously).
If you’d rather not go through the hassle of a complete reinstall, keep reading for a few tricks that might save your bacon (and your bandwidth).
Step 2: Rename your configuration folders
The chances are good that the configuration folders automatically created by the Blizzard downloader are not working correctly for your installation. Luckilly, if the download can’t find these files it will recreate them automatically. So, let’s deliberately remove these files, to force the downloader to recreate them.
Rather than permanently deleting the files, we’re going to just rename them – that way, we can always put them back later if we need to. Here’s how to do it:
- Open a file browser (use Nautilus, or whatever file browser you normally use).
- Navigate to your
Homedirectory (/home/<<your username>>/). - Press ‘
Ctrl+H‘, or choose ‘Show hidden files’ from the View menu.You’ll now be able to see all the ‘hidden’ files and hidden directories in your home directory – those are the files whose name starts with a period (
.). - The directory you’re looking for is called
.wine. Once you find it, double-click it to open it. - Navigate to
~/.wine/drive_c/users/Public/Application Data/.1You’ll see a directory called
Battle.netand a directory calledBlizzard Entertainment. Don’t worry about any other directories – they’ve just been created by other programs you’ve run under WINE. - Rename
Battle.nettoBattle.net.Cataclysm. RenameBlizzard EntertainmenttoBlizzard Entertainment.Cataclysm.2 Don’t close the file browser just yet.
Step 3: Run Wow.exe and watch it crash
- Now open a Terminal, and run
wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe.3The WoW updater will open, start to download something, and then after a short while it will crash. Don’t worry: this is what we actually want to happen at this stage.
- Check the Terminal from which you launched WoW. The Launcher will have printed a whole bunch of information and error messages. You can ignore most of it: the specific line we’re interested in will look something like this:
err:module:import_dll Library DNSAPI.dll (which is needed by L"C:\\users\\Public\\Application Data\\Battle.net\\Agent\\Agent.1363\\Agent.exe") not found.
err:module:LdrInitializeThunk Main exe initialization for L"C:\\users\\Public\\Application Data\\Battle.net\\Agent\\Agent.1363\\Agent.exe" failed, status c0000135Ugly, huh? The important bit is the
Agent.1363. Your error message might well contain a different number than1363. Whatever the number, take a note of it: we’ll need it soon. - No Warcraft-related programs should be running right now, but just to be sure, let’s manually run commands to stop them. In your Terminal, type the following commands one after the other:
killall Agent.exekillall Wow.exekillall Launcher.exe - In your file browser, check that the directories
Battle.netandBlizzard Entertainmenthave been recreated.
Step 4: Fix DNSAPI.dll
- Run the WINE configuration utility, either by clicking
Configure Winein your applications menu, or by runningwinecfgfrom a terminal. - Click the Libraries tab.
- Click the drop-down list under ‘New overrides for library:’, and choose ‘
dnsapi.dll. - Click ‘Add’.
- Cick ‘Edit’, and change the Load Order to ‘Builtin (Wine)’.
- Click ‘OK’, then click ‘OK’ again to close the WINE configuration utility.
Step 5: Profit! Run Agent.exe with a special flag
We’re almost done.
- Back in your Terminal, run the following command (you’ll need the number you noted down earlier):
wine ~/.wine/drive_c/users/Public/Application\ Data/Battle.net/Agent/Agent.<<your number>>/Agent.exe --nohttpauth &
Note, that’s two dashes (–) beforenohttpauth. - Wait a few seconds, just to make sure the
Agent.exetool has had a chance to kick in. Don’t worry about the text being printed to your Terminal. - Run
wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe.3
The World of Warcraft updater will launch again, but this time it won’t crash! Once it’s downloaded the update, the proper WoW Launcher will open and will start to download the new patch. Once it’s done, congratulations: you’re ready to play!
Troubleshooting
I’ve got the Launcher working, but it won’t download anything!
WINE can sometimes have trouble with the peer-to-peer technology used by the Launcher. Try disabling Peer-to-Peer transfers. You’ll find it in the Launcher, under Options > Downloader Preferences > Enable Peer-to-Peer Transfer.
I’m on a 64-bit system, and WoW runs really slowly / times out constantly
Try forcing WINE to run WoW in 32-bit compatibility mode. Use the following command:
setarch i386 -3 -L -B -R wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe
I’ve got a decent graphics card, but WoW runs slower than I’d expect
Try forcing WoW to run in OpenGL mode. Just append --opengl to the end of the command, like this:
~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe --opengl
I have a different problem, which is not covered by your useless so-called Troubleshooting section!
Make a comment on this post. I’ll try to help you out if I can. Alternatively, have a read through the World of Warcraft entry on WINE’s AppDB site. There’s some pretty good tips on there.
Credits
The information in this post has been compiled from the expert knowledge of the MMO Melting Pot staff, along with tips and tricks shared online by many WINE-using Warcraft players, particularly the great community at WINE’s AppDB site.
1 If your installation is in a different location than .wine (if you’re using a different wine prefix, or you’re running Vineyard or Crossover or PlayOnLinux, or you just like being awkward), navigate to that directory instead.
2 You can choose any name you like here – the .Cataclysm suffix is just what I choose.
3 Or whatever command you normally use to run WoW.
Have you spotted a mistake? Did the tips in this article work for you? Do you have any tips to share with other Linux users? Let us know in the comments!




{ 14 comments… read them below or add one }
For me, I simply upgraded to the latest unstable version of wine, 1.5.13, in Ubuntu 12.04 and it installed flawlessly. I found that OpenGL was a lot slower than that of DX9 for my GFX card a 1GB GeForce 9800GT.
You’ve been lucky then, I think. I’m running 1.5.13 under Mint 13, and the whole process was a nightmare. I think I hit virtually every idiocyncracy and bug going (hence this post).
DX9 is definitely a better bet if you can get it going. I’d only recommend OpenGL for people who were having graphical glitches or slowdowns – for certain combinations of hardware, OpenGL actually does give a better result. Luckily, it’s easy to switch between the two so you can always try both and see which works best.
Yes! Thank you so much for an excellent post! This got me up and WoWing again with the update Blizz just pushed.
A couple of notes:
- I did this with wine 1.4. wine 1.3 will die with missing err:module:import_dll.GetExtendedTcpTable implementation complaints
- The crashed out installer recreated the Battle.net directory, but not the “Blizzard Entertainment” directory. The “Blizzard Entertainment” directory wasn’t reacreated until after I finsihed the update and started the game.
- I wasn’t able to find the err:module:import_dll error at all. Sorry, that’s not very helpful without the error I did receive, but I don’t have it on my screen anymore. I took a punt on Agent.1363, as the other was 1040 so I picked the larger number. What does this number mean?
Johnnie, I should get back to the game, I’m so rusty I sweak! Great post very encouraging.
So, the only difference between my install and what you describe is that I didn’t add the dnsapi.dll bit. I added that and restarted the proper Agent.exe (1040 in my case), gave it a few seconds and then launched “Word of Warcraft Launcher.exe”, it loads, but the launcher does nothing, everything is greyed out and and to the left of the Play button it says Updating Tools (0%) and just sits there doing nothing. On the console, I see this repeated over and over again…
Response: 200
{
“update” : {},
“install” : {},
“backfill” : {},
“pid” : 64.000000,
“state” : 1001.000000,
“version” : “1.0.0.1040″,
“type” : “retail”,
“authorization” : “DA331EEB8892FF882E6D4B4F1A26EB52″
}
Hi,
i`ve just startet using ubuntu and wanted to install WOW with the official installer. But when i start it with wine, it doesnt continue when i says (translated from german) “Looking for updates….”. I`ve already tried to open the ports wow normaly uses on my router and to rename the Battle.net directory to ….Cataclysm, but it still doesnt work. Can someone help me?
Thanks already,
Stressabbauer
P.S.: Sry for bad english.
Edit: I forgot something: after renaming Battle.net to Battle.net.Cataclysm it succsesfuly updatet but after about 3 sec, it sayd (translated from german) “blizzard update agent is getting updatet” and didn`t continue from here.
Thank’s again,
Stressabbauer.
Whenever Blizzard’s downloader needs to do anything, I always have to start Agent.exe with the special –nohttpauth flag beforehand. It seems incapable of doing this itself. Has Agent.exe been created in the Battle.net directory by the time it gets stuck? If it has, I’d try killing the installer, running Agent.exe, then starting the installer again.
How long have you left it alone for? On Windows, the “checking for launcher update” dialog box is there for less than a second, but under wine it took a long time – more than half an hour I think, and the status bar completely failed to help.
Might be a good idea to have a look at the log messages wine spews out — if you can see a repeating pattern of failure then that might be useful in spotting the problem.
Or if the messages aren’t repetitive, it’ll give some reassurance that the installer is still doing something. If you did
WINEDEBUG=warn+all wine /path/to/installer.exe
(from http://www.winehq.org/site/docs/wineusr-guide/x543#AEN545)
then you’d definitely be able to tell if the install was progressing or not. Enabling logging on will slow it all down quite a lot though, so bear that in mind. You could rebuild wine from source with this patch to toggle logging: http://wiki.winehq.org/Debug_trace_toggle_key.
Just some thoughts — since I haven’t tried this myself I’m not sure if that’s any help.
It seems to work thanks a lot.
I’m trying to install from scratch using the game client but the World of Warcraft Setup dialog just hangs at zero. I get a whole lot of this:
fixme:iphlpapi:GetExtendedTcpTable ulAf = 2, TableClass = 5 not supportted
fixme:process:GetLogicalProcessorInformation (0x12fe368,0x12fe968): stub
fixme:process:GetLogicalProcessorInformation (0x11ee334,0x11ee934): stub
fixme:process:GetLogicalProcessorInformation (0x11ee304,0x11ee904): stub
fixme:wininet:CommitUrlCacheEntryInternal entry already in cache – don’t know what to do!
And some of this…
Handle Event: “shutdown event”
Handle Event: “auth validation event”
Agent is shutting down
err:wininet:open_http_connection create_netconn failed: 10036
fixme:process:GetLogicalProcessorInformation (0x11ee334,0x11ee934): stub
fixme:process:GetLogicalProcessorInformation (0x11ee304,0x11ee904): stub
Firing Event: “database flush event”
Database Remove: /option
Database Remove: /agent
Queue ‘download’ Resource for delete
Deferred delete of ‘download’ Resource
Database Remove: /
Deferred delete of ‘download’ Resource completed
Database Remove: /register
[...]
I imagine it’s something relatively simple since I’m new to both Wine (1.4 in this case) and Ubuntu (running Kubuntu 12.04). Do I need to update something or do I need to mess around with my firewall settings?
I saw most of those messages a lot when I was using wine 1.4, but didn’t really have any major problems. Still, it might be worth trying 1.5 – does seem to work better.
This though:
Handle Event: “auth validation event”
Agent is shutting down
It looks like the usual story of Agent.exe not working properly. For a clean install I think the steps are:
– Start the installer. Wait for it to hang or crash. Kill the installer
– Go looking in ~/.wine/drive_c/users/Application\ Data/Battle.net for Agent.exe
– Start it with wine /path/to/Agent.exe –nohttpauth &
– Try the installer again
If Agent.exe hasn’t been created yet then I’m afraid I have no idea.
I was able to get it working under wine1.5 (Jan 1, 2012 — Mists of Pandara) simply by installing Visual C++ Runtime 2008 via winetricks:
$ winetricks vcrun2008
Then I downloaded the setup from battle.net and invoked the setup via wine _FROM THE COMMAND LINE_:
$ wine World-of-Warcraft-Setup-enUS.exe
And it was very important that I did so, because the graphical interface showing download statistics froze on me — but the statistics flying by on the terminal that I invoked it from showed that the download was working… If I had invoked it from Nautilus and I didn’t see that text flying by in the background, I would have been tempted to shut the setup down after the first hour or two of it downloading 20.6G (or so) of files.
So, when the notifications showed that it was done with the download, I just closed the setup, made certain that my account was set up, then went down into my wow directory and invoked the launcher
$ cd ~/.wine/drive_c/Program\ Files\ \(x86\)/World\ of\ Warcraft/
$ wine World\ of\ Warcraft\ Launcher.exe
It opened up fine, finished the update, and brought me into WoW just fine…
And, I was simply amazed at the experience that Wine now provides — it seems to me to be absolutely flawless! There was absolutely no loss of experience compared to running the game from Windows. Frame-rates were every bit as good or better than I remember from the windows experience (granted, it’s been several years since I’ve played & then on an older CPU). I tried Balder’s Gate & Neverwinter Nights a couple years back on wine, and the experience was much different and much, much slower. Anyway, at least for this game, this is truly a wonderful improvement and an amazing achievement! I am truly extatic and amazed at the accomplishment of the wine hacker community!
thanks man, this is really handy info, used it to get sc2 going
This has got me mad already. After the harddrive crashed, I obtained another and reinstalled kdemint and my last backup of WOW. Now, the launcher hangs as above. However, when I run the agent with the –nohttpauth option, the launcher goes back to vanilla launcher screen with a large install button. Clicking install results in an error that says the content to install doesnt exist. Im stuck between the 2 problems and our caps in this country are so terrible that I could JUST barely install the client over 2 months.
Would love some guidance.
Thanks