So here are my steps for the fmodex64.dll replacement (all on your own machine, with your own scripts):
- Disabled automatic updates to D3 in bnet settings, download section.
- Copied “C:\Program Files (x86)\Diablo III\x64\fmodex64.dll” to a different (user chosen) location. This location will store the old backup of fmodex64.dll and a copy from our other game (either Hearthstone or Starcraft2).
- Copy the file from Hearthstone or Starcraft2 into the same folder. My Starcraft2 .dll was found: “C:\Program Files (x86)\StarCraft II\Support64\fmodex64_4_44_23.dll”.
- Now create the powershell script file by creating a .txt and renaming the extension to .ps1.
- Edit the .ps1 file with a test editor, replacing with your chosen location. As shown, the script deletes the old file if it exists, and copies the hearthstone or starcraft2 .dll file from our user chosen location:
Remove-Item -Path “C:\Program Files (x86)\Diablo III\x64\fmodex64.dll”
Copy-Item “<user chosen location>\fmodex64_4_44_23.dll” -Destination “C:\Program Files (x86)\Diablo III\x64\fmodex64.dll”
- Open battle.net app.
- Run this script by selecting “Run with Powershell”
- Run/open D3.
This allows you to run without this freezing issue, but as mentioned from many commenters above, removes in game sound.
We typically have to run the script every time before starting D3 because the battle.net app likes to replace the .dll file on occasion.