http://bugs.winehq.org/show_bug.cgi?id=20296
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://cds008.am4.hwcdn.net | |/h2f4b5v4/cds/installer/lol | |/LOL_Setup.exe | CC| |focht@gmx.net Summary|League of Legends: crash |Multiple apps crash due |after eula |missing support for COM dll | |surrogate, dllhost.exe | |(League of Legends | |08_18_2009_04, 3dmark03)
--- Comment #58 from Anastasius Focht focht@gmx.net 2012-03-27 15:48:18 CDT --- Hello,
came here because I looked for duplicates after investigating bug 22392 "3dmark03, 3dmark06 crash on startup when trying to get system info (Wine lacks support for COM dll surrogate, dllhost.exe)"
--- quote --- As far as I can tell, the situation has evolved and dll surrogates are not really the main problem that occurs when launching LoL. --- quote ---
I managed to dig up an old installer (game version 08_18_2009_04) because some people still seed that old stuff ;-)
$ du -sh LOL_Setup.exe 507M LOL_Setup.exe
$ sha1sum LOL_Setup.exe 47506d55493c6755c72cc33178e1ea0c398b37c5 LOL_Setup.exe
$ wine --version wine-1.5.0-147-g4c6a198
The missing dll surrogate support _is_ the problem for the old "League of Legends" installer but not for newer versions (>2009).
"patcher_lib.log" gives:
--- snip --- 03/27/2012 22:25 [INFO] Solid LauncherLib [1.0.0.32] initializing... 03/27/2012 22:25 [INFO] CElevateHelper::RegisterServer() success 03/27/2012 22:25 [INFO] Failed to re-register 80040152 03/27/2012 22:25 [WARNING] LAUNCHERERRORTYPE_ELEVATECOMFAIL --- snip ---
Trace log reveals it tries standard COM surrogate instanciation.
"{629f8434-0530-41e6-b7c5-61a82faa3df2}" lives in "CRiotLauncherElevateCOM.dll"
--- snip --- ... 0024:Call ole32.CoCreateInstance(00450394,00000000,00000004,00450384,0032d428) ret=00403e00 0024:trace:ole:CoCreateInstance (rclsid={629f8434-0530-41e6-b7c5-61a82faa3df2}, pUnkOuter=(nil), dwClsContext=00000004, riid={5e30ffab-3b7c-4990-9281-7da8b43d1416}, ppv=0x32d428) 0024:trace:ole:CoGetClassObject CLSID: {629f8434-0530-41e6-b7c5-61a82faa3df2},IID: {00000001-0000-0000-c000-000000000046} 0024:trace:ole:RPC_GetLocalClassObject rclsid={629f8434-0530-41e6-b7c5-61a82faa3df2}, iid={00000001-0000-0000-c000-000000000046} 0024:trace:ole:RPC_GetLocalClassObject waiting for L"\\.\pipe\{629F8434-0530-41E6-B7C5-61A82FAA3DF2}" 0024:Call KERNEL32.WaitNamedPipeW(0032d14c L"\\.\pipe\{629F8434-0530-41E6-B7C5-61A82FAA3DF2}",ffffffff) ret=7e941f7c 0024:Ret KERNEL32.WaitNamedPipeW() retval=00000000 ret=7e941f7c 0024:Call KERNEL32.CreateFileW(0032d14c L"\\.\pipe\{629F8434-0530-41E6-B7C5-61A82FAA3DF2}",c0000000,00000000,00000000,00000003,00000000,00000000) ret=7e941fbd 0024:Ret KERNEL32.CreateFileW() retval=ffffffff ret=7e941fbd 0024:trace:ole:create_local_service Attempting to start Local service for {629f8434-0530-41e6-b7c5-61a82faa3df2} 0024:Call advapi32.RegOpenKeyExW(80000000,0032ce22 L"CLSID\{629F8434-0530-41E6-B7C5-61A82FAA3DF2}",00000000,00020019,0032ce1c) ret=7e907a3f 0024:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e907a3f 0024:Call advapi32.RegQueryValueExW(00000114,7e9d7400 L"AppId",00000000,0032ceb0,0032cf1a,0032ceb8) ret=7e907b64 0024:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e907b64 0024:Call advapi32.RegCloseKey(00000114) ret=7e907b78 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=7e907b78 0024:Call advapi32.RegOpenKeyExW(80000000,0032cebe L"AppId\{24D8BC2F-47F2-4A20-B7E4-F9394EEAFB1B}",00000000,00020019,0032cfb8) ret=7e907bfc 0024:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e907bfc 0024:Call advapi32.RegQueryValueExW(00000114,7e9de91a L"LocalService",00000000,0032cfb4,0032cfbe,0032cfb0) ret=7e941c59 0024:Ret advapi32.RegQueryValueExW() retval=00000002 ret=7e941c59 0024:warn:ole:create_local_service No LocalService value 0024:Call advapi32.RegCloseKey(00000114) ret=7e941e12 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=7e941e12 0024:Call advapi32.RegOpenKeyExW(80000000,0032ccd2 L"CLSID\{629F8434-0530-41E6-B7C5-61A82FAA3DF2}",00000000,00020019,0032cccc) ret=7e907a3f 0024:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e907a3f 0024:Call advapi32.RegOpenKeyExW(00000114,7e9de964 L"LocalServer32",00000000,00020019,0032cff4) ret=7e907a9c 0024:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e907a9c 0024:Call advapi32.RegCloseKey(00000114) ret=7e907aad 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=7e907aad 0024:err:ole:create_server class {629f8434-0530-41e6-b7c5-61a82faa3df2} not registered 0024:err:ole:CoGetClassObject no class object {629f8434-0530-41e6-b7c5-61a82faa3df2} could be created for context 0x4 0024:Ret ole32.CoCreateInstance() retval=80040152 ret=00403e00 ... --- snip ---
The launcher does a recovery after first failure by re-registering COM server and instanciating again:
--- snip --- 0024:Call KERNEL32.CreateProcessW(00000000,0032b9b8 L"regsvr32 /s "C:\Riot Games\League of Legends\CRiotLauncherElevateCOM.dll"",00000000,00000000,00000000,00000400,00000000,00000000,0032b060,0032b050) ret=7e4ed23f ... 0024:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e4ed23f ... 0024:Call ole32.CoCreateInstance(00450394,00000000,00000004,00450384,0032d428) ret=00403e31 0024:trace:ole:CoCreateInstance (rclsid={629f8434-0530-41e6-b7c5-61a82faa3df2}, pUnkOuter=(nil), dwClsContext=00000004, riid={5e30ffab-3b7c-4990-9281-7da8b43d1416}, ppv=0x32d428) ... 0024:Ret ole32.CoCreateInstance() retval=80040152 ret=00403e31 ... 0024:trace:seh:raise_exception code=c0000005 flags=0 addr=0x405f01 ip=00405f01 tid=0024 0024:trace:seh:raise_exception info[0]=00000000 0024:trace:seh:raise_exception info[1]=00000000 0024:trace:seh:raise_exception eax=00000000 ebx=00890140 ecx=cb66c139 edx=00450684 esi=00890140 edi=00000000 0024:trace:seh:raise_exception ebp=0032d56c esp=0032cf1c cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010212 0024:trace:seh:call_stack_handlers calling handler at 0x4494fb code=c0000005 flags=0 --- snip ---
It ultimately fails because another failure is not expected.
Refining summary as this affects several apps and to collect them here.
Download link is busted but you will find torrents still alive with "LOL_Setup.exe" (507 MiB version).
Regards