League-Of-Legends icon indicating copy to clipboard operation
League-Of-Legends copied to clipboard

missing DLL bugsplat on patching / outdated winetricks / dotnet35 needed?

Open ardarandir opened this issue 8 years ago • 10 comments

hi,

thanks for your great work. i appreciate the cleanliness and efficiency of it, though unfortuneately LOL is not working/patching on my install. i would like to fix this and probably need some help doing this.

please tell me: do I understand i correctly, that your script installs and requires neither adobeair, dotnet35 nor ie8 but LOL still runs fine (usually)? if I try to install them via winetricks I run into errors so I assumed that could be a cause for my faulty install.

as for the error messages: i am getting "bugsplatRC resource DLL not found" error at applying patches and am still trying to figure out why this happens and how to work around. ill attach my lol_launcher.log:

lol_launcher-log.txt

im using the most up-to-date wine-2.0-rc5 (Staging, from winehq-staging) on ubuntu 16.04.01. is there anything else i should post to help figuring this one out?

ardarandir avatar Jan 13 '17 14:01 ardarandir

Today I decided to do some further work on this issue. So I started from scratch, watching the terminal output more closely. I realized that indeed the installer could not fetch some of the winetricks verbs, probably due to an outdated winetricks version. So in case anyone else is running into "missing dll" bugsplats, I suggest you delete your whole folder (you should do that anyways) and then rerun the whole thing after updating winetricks and possibly getting the latest wine-staging. instructions for that:

  • to update winetricks see instructions here: https://wiki.winehq.org/Winetricks
  • dont miss any dependencies: sudo apt install cabextract p7zip unrar unzip wget zenity
  • and get the latest wine, read: https://wiki.ubuntuusers.de/Wine/ - i suggest winhq staging: https://github.com/wine-compholio/wine-staging/wiki/Installation
  • delete your whole leagueoflegends folder: rm -R ~/.local/share/leagueoflegends
  • rerun the installation script by typing: leagueoflegends launcher

winetricks seems to have run fine this time. some 404 errors popped up but were being worked around by using mirrors like archive.org. now i have the following verbs installed:

jomi@travelmate:~$ leagueoflegends winetricks list-installed
INFO: Check: Base dir /home/jomi/.local/share/leagueoflegends
INFO: Check: wineprefix exist /home/jomi/.local/share/leagueoflegends/WINE.win32/
INFO: Last tested version: wine-1.9.24
INFO: Your version: wine-2.0-rc5 (Staging)
INFO: Check: wineprefix configured
INFO: Check: wine can access only to wine drive C:/ + X:/ (LoL)
Using winetricks 20170101 - sha1sum: ed948de8a10666cab5fe393765a9804c532639d0 with wine-2.0-rc5 (Staging) and WINEARCH=win32
corefonts
d3dx9_26
d3dx9_28
d3dx9_31
d3dx9_35
d3dx9_36
d3dx9_39
d3dx9_42
d3dx9_43
d3dx9
ie8
msls31
pngfilt
vcrun2005
vcrun2008
vcrun2013
vcrun2015
wininet
wsh56vb
xmllite
jomi@travelmate:~$ 

ie8, vcrun2015 and more present now, but still no dotnet35. also couldnt manually set it up with winetricks; it would only onstall dotnet20 and then give error message about incompatibility of dotnet20 with dotnet35 or dotnet35sp1 correspondingly. as for adobe air, it seems like it shouldnt to be installed explicitly, as the launcher is using a built-in version.

will try some repairs and a manual install of dotnet35 if "missing dll" bugsplat persists.

UPDATE: I got dotnet35 set up properly by running leagueoflegends winetricks dotnet35 after activating the emulation of a virtual desktop in leagueoflegends winecfg. have patience, and after installation of dotnet30 there will be a tiny symbol in the lower right corner of the emulated desktop, right click it and choose "close". then the setup of the other packages can properly continue (chose "reboot later!").

it seems to me now, however, that mono (from the wine-mono package) is meant to substitute dotnet35 in this script. is that correct?

applying this known crude hack workaround could also have had an effect, so you might anna try it in case setting up dotnet35 is still not working for you: echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope see for explanation and a less crude solution here: http://askubuntu.com/questions/146160/what-is-the-ptrace-scope-workaround-for-wine-programs-and-are-there-any-risks

ardarandir avatar Jan 16 '17 18:01 ardarandir

Update: In an clean prefix using the same wine version (wine-2.0-rc5 staging) and only mono and gecko, the patcher doesnt crash. after moving the thus patched LOL into the ~/.local/share/leagueoflegends/LOL/, the games runs well. so the patching bugsplat crashes definitively result from something the script did.

ardarandir avatar Jan 18 '17 22:01 ardarandir

Hello @ardarandir ! Thanks for you work. Could you describe your installation method then like step by step? I have the same version of wine than you and I also get the Missing DLL thing. It would be really cool!

For instance how did you add mono an gecko? Is it the only thing you did? Which folder did you move after that?

Regards,

Erwyn avatar Jan 22 '17 10:01 Erwyn

Okay, so I created a clean wineprefix, but what should I do now? Which launcher should I download? I tried with the normal one from the LoL website but it crashes.

Erwyn avatar Jan 22 '17 10:01 Erwyn

@Erwyn, you can use the leagueoflegends script to set up a launcher, like this this:

  • update winetricks, see instructions here: https://wiki.winehq.org/Winetricks
  • dont miss any dependencies: sudo apt install cabextract p7zip unrar unzip wget zenity
  • get the latest wine, read: https://wiki.ubuntuusers.de/Wine/ - i suggest winhq staging: https://github.com/wine-compholio/wine-staging/wiki/Installation (replaces regular wine)
  • delete your whole leagueoflegends folder: rm -R ~/.local/share/leagueoflegends
  • rerun the installation script by typing: leagueoflegends launcher
  • cancel the patching, because you only need the launcher installed by this script
  • restart the patching with the regular wine installation: wine ~/.local/share/leagueoflegends/LOL/RADS/projects/lol_launcher/releases/0.0.1.35/deploy/LoLLauncher.exe

patching should now finish without bugsplat and afterwards you can start it using leagueoflegends. if this doesnt work, try setting up a clean wine-prefix in playonlinux with only mono and gecko (will be installed automagically) and move your ~/.local/share/leagueoflegends/LOL/into that prefix. then run the lollauncher.exe with playonlinux to allow patching. with only mono and gecko (no vcredist, dotnet35 and such) performance was quite good for me, but the fonts were not displayed correctly. this is why i copied the installation back from the POL-prefix into the ~/.local/share/leagueoflegends/LOL/ and ran it there, using dotnet35 instead of mono. it runs quite well like this on my machine, not huge FPS and lags.

if you run into any problem following these instructions, please tell m what exactly you expected to happen and what happened instead and i will try to walk you through this. also use google please. :-)

ardarandir avatar Jan 22 '17 11:01 ardarandir

Thanks for you guide. Sadly I just can't get it to work. I went the POL way to install a clean prefix of 2.0-rc5 and the patching hangs indefinitely at around 50-60% which was already the case with the POL installer for League of Legends.

Anyway, thanks for you help!

Erwyn avatar Jan 22 '17 16:01 Erwyn

If it just hanging you should wait it out. My install also took several hours. If it really stuck for good, restart it. Also: Did you set up Mono and Gecko properly? Did you make sure .NET was NOT installed?

You could try to rerun the patcher again and again and again each time after the crashes. I did this and maybe it affected the outcome. It was my impression (from percentage as well as from the error logs) that the patching progressed a little bit further each time actually. It could be related to the sheer number of files in the /LOL/RADS/Temp folder or some other properties that causes them to crash while being applied.

Moreover, you could try mounting a ramfs at the /LOL/RADS/Temp folder, which should significantly speed up the patching and perhaps solve your issue. I am sorry not to have more precise advice anymore.

ardarandir avatar Jan 22 '17 17:01 ardarandir

Ok, then I'll try multiple runs of it. I thought maybe I should try to get wine 1.9.24 as the script was tested against it and apparently working?

I'm not much into wine to be honest, I mostly use the PlayOnLinux scripts to get things working so I really don't know my way around all this stuff and may do some things the wrong way. But from my understanding yes Mono and Gecko are installed and .NET was not installed. I just plainly installed a new wine prefix and wine version from PlayOnLinux, separatly only for LoL.

Erwyn avatar Jan 22 '17 18:01 Erwyn

So, to report back here, after multiple runs, using only the leagueoflegend script from this repository and wine 2.0-rc5 staging, it worked.

Erwyn avatar Jan 23 '17 08:01 Erwyn

good to hear. so in the end the confirmed workaround for this issue seems to be the following:

a) install the launcher with the leagueoflegends launcher command of the script b) patch the installation with a clean wine prefix (try the regular system wine installation first, if it fails, try playonlinux to set up gecko and mono properly and make sure not to set up dotnet or any other extras) c) run the game with leagueoflegends launcher (or graphical unity launcher) and enjoy playing!

this workaround seems to be necessary due to some outdated configuration in the leagueoflegends script, probably related to the installation of some extras (vcredist or else) which are no longer needed in up-to-date wine versions like wine2.0rc5 staging. there could also be an issue with the mass of files in the ~/.local/share/leagueoflegends/LOL/RADS/Temp/ folder, unconfirmed though (try mounting ramfs).

ardarandir avatar Jan 24 '17 14:01 ardarandir