BattleNet installer stops at 50%

Hey all,

I have a fresh install of Debian that I’m trying to install Battle.Net on, but it gets stuck at 50% on the step “Updating Battle.net Update Agent.” I followed the instructions for installing wine dependencies and drivers for Vulkan support. This worked on Ubuntu with the same hardware, so it shouldn’t be a hardware problem. I’m having trouble diagnosing what drivers or dependencies are at issue.

Here is the output when I run the Battle.Net install script:
Ubuntu Pastebin

And here is my system information:
https://paste.ubuntu.com/p/wBVwWb2c66/

Any ideas?
Thanks!

EDIT:
It resolved itself after trying a number of times and waiting a while. I suspect it may have been a connection issue on Battlenet’s end because I see other people around the web reporting that from time to time.

1 Like

I habe the same problem for Overwatch on Battlenet, it always stops…

I also get the same 50% at installing Update Agent issue. I had the Battle.net client installed and played Diablo 3 with no problem, until yesterday when it started freezing and it looked like the Agent.exe was crashing. Tried reinstalling everything and get the 50% problem now.

From the error dump it looks like there is an ACCESS_VIOLATION in the Agent.exe but unclear to why.

An application encountered a critical error:
Program:	C:/ProgramData/Battle.net/Agent/Agent.8009/Agent.exe
Exception:	0xc0000005 (ACCESS_VIOLATION) at 0023:0xc4

The instruction at "0x000000C4" referenced memory at "0x000000C4".
The memory could not be executed.

<Application>Agent
<BlizzardError.ProjectId>1001
<BlizzardError.Module>Agent
<BlizzardError.BuildNumber>Agent 2.29.1.8009
<BlizzardError.Platform>All PC
<BlizzardError.DesktopOS>Win
<BlizzardError.IssueType>Exception
<BlizzardError.Priority>None

<Exception.Summary:>
0xc0000005 (ACCESS_VIOLATION) at 0023:0xc4
<:Exception.Summary>

<Exception.Assertion:>
Thread 0x00000280
DBG-ADDR<000000C4>("")
DBG-ADDR<00669CEA>("Agent.exe")
DBG-ADDR<004CA314>("Agent.exe")
DBG-ADDR<004BB545>("Agent.exe")
DBG-ADDR<00478F34>("Agent.exe")
<:Exception.Assertion>
...

If you can locate the Agent.exe file from the previous version of Agent.exe (7984 I think from memory), you can use this file to replace the newer 8009 version. The files are located in the ProgramData/Battle.net/Agent folder. The problem version is in the folder Agent.8009, rename it from Agent.exe to Agent.exe.8009. Go to the Agent. folder with the highest number below 8009 and copy the Agent.exe from here to the Agent.8009 folder.
This does not fix anything, it is just a quick workaround until someone can figure out what dependency is missing with the new Agent.exe file.

And the 50% error on install, wait a few minutes, press close on the installer, and allow the Lutris script to finish. If this does not work, use the Overwatch install script which will also stop at 50%, wait a few minutes then close and allow the Lutris script to finish.

I have reinstalled the battlenet client via Lutris several times so I don’t have any pre-8009 version anymore since I removed the old and tried to install again.

If I do your second workaround then that doesn’t work either, neither with the battlenet install script or the Overwatch one. Both result in Lutris failing to install and the battlenet.exe is not there.

EDIT: I was able to dig up the old 7984 version and replace the exe inside the 8009 folder but it just detects it is the wrong file and replaces it

Damn worked for me and a few others who tried it.

This might (stress might) be a work around if you have not already deleted your Battle.net prefix and game files while using Lutris as the launcher.

Rename or delete the Battle.net folder in your prefix ProgramData folder.

Change the Game Options → Arguments in Lutris and add

–exec=“launch D3”

The D3 option is if you don’t have Diablo3 installed, or Pro if you don’t have Overwatch or SC2 or WTCG or Hero - basically any code for a game you DON"T have installed. I have found the default Lutris-7.2 runner to work best with this. Save the configuration and launch battle.net.

After logging in, locate your game, first go to settings → Downloads and Scan for Games then Locate. Once you have located your game, change the Game Updates to Never automatically apply updates then press Done.

All going well, your game is now available and if it was already updated, you should have the play button available. To confirm that this works, shut down the launcher back to Lutris and relaunch it. I have used both D3 and Pro options - the launcher will complain a minute or 2 about the Update agent being asleep before taking you to the game home page which you don’t have installed (this seems to be key, when I used WoW with World of Warcraft install, it did not work). Select your game from the games page and if the Blizzard gods favour you, you will be greeted with your game page, Play button active and the update happening and doing nothing in the background until we can work out what dependency is actually missing for the 8009 Agent.exe. For me, World of Warcraft now launches just fine. Interested if this works for anyone else…

I cannot test this since my previous installation was deleted by Lutris which force deletes it seems. However I was able to install the battlenet via Lutris by just waiting (it somehow got past the Agent update even though it crashed several times). Then it got stuck at 90% installing battlenet launcher so I did a “killall Agent.exe”. It said it failed but Lutris was happy and it seems it was installed properly (logs said it had 100% progress on the install). So now I can start the launcher but I have to install Diablo3 which seems to take a lot of time but it is making progress. Will get back to you with the -exec=“launch Pro” command in my case if it ever gets installed.

EDIT: The UI is not really showing progress in the launcher but if I look at the logs I can see the agent progresses the update.

[I 2022-09-17 13:34:44.0268] d3 Update Progress - 0.1189 (0.0474)
[I 2022-09-17 13:34:46.0684] d3 Update Progress - 0.1202 (0.0488)
[I 2022-09-17 13:34:48.0507] d3 Update Progress - 0.1216 (0.0503)
[I 2022-09-17 13:34:50.0323] d3 Update Progress - 0.1228 (0.0516)
[I 2022-09-17 13:34:52.0144] d3 Update Progress - 0.1241 (0.0530)
[I 2022-09-17 13:34:53.0975] d3 Update Progress - 0.1254 (0.0545)
[I 2022-09-17 13:34:55.0179] d3 Update Progress - 0.1269 (0.0560)

EDIT2: UI does get updated, but only in chunks, see images. Basically stuck on Waiting on another update… then it shows the actual downloading progress for a few seconds then back to Waiting.
Screenshot from 2022-09-17 15-39-05
Screenshot from 2022-09-17 15-39-16

It is not the best for graphics on the launcher, but it does do the downloads…

My install went through and I am now running Diablo3 fine, I am running with -exec=“launch Pro” for the Lutris launch args. The agent still crashes but doesn’t affect the game. The game takes longer to start than it used to but I have not yet experienced a freeze like I did that prompted me to try to reinstall it to begin with.

Thanks @jhu for your help :slight_smile:

The steps described there are for people already having BattleNET installed. I am currently with a fresh OS install, any recommendations for that? Every installer I try through Lutris either ends with 256 error or I get the BattleNET opened but stuck in “Updating Battle.net Update Agent”.

Use the Overwatch lutris script - it will say installing battle.net, get to around 90% or so then go to 0%. Wait a few moments (it is step trying to display the region selection dialog). Check in you installation location you provided (eg /home/username/Games/overwatch/drive_c/) that the installer has created the Program Files (x86)/Battle.net folder and battle.net.exe is present. If it is present, press cancel on the battle.net installer and wait for the Lutris script to finish. It should then give you the option to launch Overwatch. At this point, you can then follow the other directions (including downloading the Agent.exe 7984 version for replacing the problem one) listed on this, reddit or Blizzard forums.

Attempting to run Hearthstone in docker using KasmVNC image, I ran in to the same issues.

Seems like the fix to the installer is the same issue as to running it when one have it installed, it requires esync/ulimits set up properly before attempting running the installer. (For docker, the container is run using --ulimit nofile=524288:1048576)

On a fresh install without esync set up, the installer hangs at 50%.
On a fresh install with esync set up, the installer completes properly.

Moreover to have everything run properly, the Battle.net launcher (and Hearthstone) needs Game Options → Arguments --exec="launch Pro", and it seems like Runner → Wine version lutris-Ge-Proton7-33-x86_64 is better than the default. Install from the Wine - Manage Versions menu from Lutris main window.

For Hearthstone, Runner → DLL overrides, add locationapi.dll disabled if the game crashes on launch.