https://bugs.winehq.org/show_bug.cgi?id=44793
Bug ID: 44793 Summary: EpicGamesLauncher.exe: Fatal Unhandled Exception: EXCEPTION_ACCESS_VIOLATION 0xdaaaa600 Product: Wine-staging Version: 3.4 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: katoflip@protonmail.com CC: erich.e.hoover@wine-staging.com, michael@fds-team.de, sebastian@fds-team.de Distribution: ---
Created attachment 60825 --> https://bugs.winehq.org/attachment.cgi?id=60825 Data from opening EpicGamesLauncher.exe in the terminal
Starting the EpicGamesLauncher.exe leads to a fatal exception, among many other errors.
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #1 from Justin Mitzel katoflip@protonmail.com --- Created attachment 60826 --> https://bugs.winehq.org/attachment.cgi?id=60826 Screenfetch data
https://bugs.winehq.org/show_bug.cgi?id=44793
Justin Mitzel katoflip@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=44793
Justin Mitzel katoflip@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression |
https://bugs.winehq.org/show_bug.cgi?id=44793
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x@gmail.com
--- Comment #2 from Louis Lenders xerox.xerox2000x@gmail.com --- 001c:err:module:import_dll Library MSVCR120_CLR0400.dll (which is needed by L"C:\windows\Microsoft.NET\Framework64\v4.0.30319\mscorsvw.exe") not found 001c:err:module:import_dll Library mscoree.dll (which is needed by L"C:\windows\Microsoft.NET\Framework64\v4.0.30319\mscorsvw.exe") not found 001c:err:module:attach_dlls Importing dlls for L"C:\windows\Microsoft.NET\Framework64\v4.0.30319\mscorsvw.exe" failed, status c0000135
This doesn`t look right. i think things are misconfigured on your side.
Did you install dotnet with winetricks?
https://bugs.winehq.org/show_bug.cgi?id=44793
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal CC| |dark.shadow4@web.de
--- Comment #3 from Fabian Maurer dark.shadow4@web.de --- Not a critical issue.
@Louis Lenders I'd guess so, that too happens for me when I install .NET in a 64bit prefix.
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #4 from Justin Mitzel katoflip@protonmail.com --- Sorry about the wrong severity, I looked up what to put it as on the bugzilla wiki and it said that crashes should be under critical. Also I completely uninstalled and reinstalled wine and still had the same problem
https://bugs.winehq.org/show_bug.cgi?id=44793
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64 Summary|EpicGamesLauncher.exe: |Epic Games Launcher 7.x |Fatal Unhandled Exception: |crashes on startup (relies |EXCEPTION_ACCESS_VIOLATION |on 'shcore.dll' load |0xdaaaa600 |dependency from other | |Windows dll) Keywords| |download Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Component|-unknown |-unknown Product|Wine-staging |Wine URL| |https://www.epicgames.com/u | |nrealtournament/download CC| |focht@gmx.net
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
The installer for Epic games launcher has some prerequisite installer that needs .NET Framework 2.0 or 4.0 installed. It's essentially a WiX-based installer that bundles multiple MSVC++ runtimes and DirectX 9.0c together (normally done by official MS redist installers). Part of the DirectX installer is managed DirectX which causes the sub-installer to fail if not present. Anyway, the real problem is something different.
Relevant part of trace log:
--- snip --- $ pwd /home/focht/wineprefix32/drive_c/Program Files/Epic Games/Launcher/Portal/Binaries/Win32
$ WINEDEBUG=+seh,+loaddll,+process,+relay wine ./EpicGamesLauncher.exe
log.txt 2>&1
... 0039:Call KERNEL32.LoadLibraryW(003d66a0 L"shcore.dll") ret=0064bc70 0039:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\shcore.dll" at 0xf7d30000: builtin 0039:Call PE DLL (proc=0xf7d3b127,module=0xf7d30000 L"shcore.dll",reason=PROCESS_ATTACH,res=(nil)) 0039:Call KERNEL32.DisableThreadLibraryCalls(f7d30000) ret=f7d3af7d 0039:Ret KERNEL32.DisableThreadLibraryCalls() retval=00000001 ret=f7d3af7d 0039:Ret PE DLL (proc=0xf7d3b127,module=0xf7d30000 L"shcore.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 0039:Ret KERNEL32.LoadLibraryW() retval=f7d30000 ret=0064bc70 0039:Call KERNEL32.SetErrorMode(00000000) ret=006471e4 0039:Ret KERNEL32.SetErrorMode() retval=00008000 ret=006471e4 0039:Call KERNEL32.GetProcAddress(f7d30000,0227f94c "SetProcessDpiAwareness") ret=00646d4d 0039:Ret KERNEL32.GetProcAddress() retval=f7d3aeac ret=00646d4d 0039:Call KERNEL32.GetProcAddress(f7d30000,0227f944 "GetDpiForMonitor") ret=00646d4d 0039:Ret KERNEL32.GetProcAddress() retval=f7d3ae80 ret=00646d4d 0039:Call KERNEL32.FreeLibrary(f7d30000) ret=006468fa 0039:Call PE DLL (proc=0xf7d3b127,module=0xf7d30000 L"shcore.dll",reason=PROCESS_DETACH,res=(nil)) 0039:Ret PE DLL (proc=0xf7d3b127,module=0xf7d30000 L"shcore.dll",reason=PROCESS_DETACH,res=(nil)) retval=1 0039:trace:loaddll:free_modref Unloaded module L"C:\windows\system32\shcore.dll" : builtin 0039:Ret KERNEL32.FreeLibrary() retval=00000001 ret=006468fa 0039:trace:seh:raise_exception code=c0000005 flags=0 addr=0xf7d3aeac ip=f7d3aeac tid=0039 0039:trace:seh:raise_exception info[0]=00000008 0039:trace:seh:raise_exception info[1]=f7d3aeac 0039:trace:seh:raise_exception eax=00000001 ebx=01670000 ecx=373927c1 edx=7bcf9780 esi=f7d30000 edi=f7d3aeac 0039:trace:seh:raise_exception ebp=01674afc esp=0227f9e0 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210286 0039:trace:seh:call_stack_handlers calling handler at 0x162e815 code=c0000005 flags=0 0039:Call ucrtbase._except_handler4_common(01b9adf4,0162e229,0227f988,0227fe54,0227f6bc,0227f57c) ret=0162e833 0039:trace:seh:_except_handler4_common exception c0000005 flags=0 at 0xf7d3aeac handler=0x162e815 0x227f6bc 0x227f57c cookie=373927c1 scope table=0x1b64108 cookies=-2/0,-76/0 0039:trace:seh:_except_handler4_common level 0 prev -2 filter 0x545ed8 ... --- snip ---
There is lovely piece of brain damage (small annotations by me):
--- snip --- ... 0063DDF0 PUSH OFFSET 017066C0 ; UNICODE "enablehighdpi" 0063DDF5 CALL 005DA630 0063DDFA PUSH EAX 0063DDFB CALL 005FC300 0063DE00 ADD ESP,8 0063DE03 TEST AL,AL 0063DE05 JE SHORT 0063DE7E 0063DE07 PUSH ESI 0063DE08 PUSH EDI 0063DE09 PUSH OFFSET 017066DC ; UNICODE "shcore.dll" 0063DE0E CALL 00646D80 ; MyLoadLibrary() 0063DE13 MOV ESI,EAX 0063DE15 ADD ESP,4 0063DE18 TEST ESI,ESI 0063DE1A JE SHORT 0063DE4D ; alternate code path for < Win8? 0063DE1C PUSH OFFSET 017066F4 ; UNICODE "SetProcessDpiAwareness" 0063DE21 PUSH ESI 0063DE22 CALL 00646C70 ; MyGetProcAddress() 0063DE27 PUSH OFFSET 01706724 ; UNICODE "GetDpiForMonitor" 0063DE2C PUSH ESI 0063DE2D MOV EDI,EAX 0063DE2F CALL 00646C70 ; MyGetProcAddress() 0063DE34 PUSH ESI ; HMODULE shcore.dll 0063DE35 MOV DWORD PTR DS:[1BDBF98],EAX 0063DE3A CALL 006468F0 ; MyFreeLibrary() 0063DE3F ADD ESP,14 0063DE42 TEST EDI,EDI 0063DE44 JE SHORT 0063DE7C 0063DE46 PUSH 2 0063DE48 CALL EDI ; shcore.SetProcessDpiAwareness() 0063DE4A POP EDI 0063DE4B POP ESI 0063DE4C RETN ... 006468F0 PUSH DWORD PTR SS:[ESP+4] ; HMODULE shcore.dll 006468F4 CALL DWORD PTR DS:[<&KERNEL32.FreeLibrary>] 006468FA RETN ... --- snip ---
Some genius thought it would be good idea to call 'shcore.SetProcessDpiAwareness()' after the dll has been unloaded. The unload happens unconditionally before the call, there is no other code path in between. On Windows 8+ most likely some other dll holds a reference to 'shcore.dll' so the LoadLibrary/FreeLibrary didn't make a difference here (refcount > 0). I have no idea which other Windows dll has this load time dependency. Maybe someone could run the launcher with a dependency walker (http://www.dependencywalker.com/) or similar tool on Windows 8+ to figure this out.
Anyway, I've looked at the surrounding code and it seems there is an alternate code path when 'shcore.dll' can't be loaded. If you disable 'shcore.dll' (can be done per app basis or whole WINEPREFIX), the launcher will show the user interface (login page).
NOTE: For multi-monitor setups you need Wine-Staging patchset to work around bug 41258 (UE4 applications)
$ sha1sum EpicInstaller-7.7.0.msi 42e9cabf76eb715e8e23c2a5436f828d16a263b1 EpicInstaller-7.7.0.msi
$ du -sh EpicInstaller-7.7.0.msi 31M EpicInstaller-7.7.0.msi
$ wine --version wine-3.5-5-g03ece22480
Regards
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #6 from Justin Mitzel katoflip@protonmail.com --- Created attachment 61026 --> https://bugs.winehq.org/attachment.cgi?id=61026 Dependency Walker Epic Games Launcher
This is the Dependency walker file that was asked for
https://bugs.winehq.org/show_bug.cgi?id=44793
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
--- Comment #7 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Testing with a small sample application on windows 8.1. Its appears shell32 has a link to shcore.
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- One way would be to move all referenced shlwapi stuff to shcore, and forward shlwapi to it. This way shell32 will pull it indirectly.
https://bugs.winehq.org/show_bug.cgi?id=44793
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Epic Games Launcher 7.x |Epic Games Launcher 7.x |crashes on startup (relies |crashes on startup (relies |on 'shcore.dll' load |on native Windows |dependency from other |behaviour: 'shcore.dll' |Windows dll) |loaded by 'shlwapi.dll') Component|-unknown |shlwapi
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello folks,
thanks for the information/confirmation. Refining summary to reflect this.
The attached dependency walker information file shows this:
--- snip --- .. -- PROPSYS.DLL .. -- API-MS-WIN-SHCORE-SYSINFO-L1-1-0.DLL .. -- API-MS-WIN-SHCORE-COMHELPERS-L1-1-0.DLL -- API-MS-WIN-SHCORE-REGISTRY-L1-1-1.DLL -- API-MS-WIN-SHCORE-STREAM-L1-1-0.DLL -- API-MS-WIN-SHCORE-UNICODEANSI-L1-1-0.DLL .. -- SHCORE.DLL .. -- SHLWAPI.DLL -- SHCORE.DLL .. -- COMCTL32.DLL .. -- SHCORE.DLL .. -- SHELL32.DLL .. -- SHCORE.DLL -- NTSHRUI.DLL .. -- SHCORE.DLL -- SHDOCVW.DLL -- SHELL32.DLL -- SHLWAPI.DLL -- SHCORE.DLL .. --- snip ---
Looking at the API sets referred by other libs, it seems 'shlwapi' is the one - as Nikolay said.
* SHCORE.DLL * API-MS-WIN-SHCORE-COMHELPERS-L1-1-0.DLL * API-MS-WIN-SHCORE-OBSOLETE-L1-1-0.DLL * API-MS-WIN-SHCORE-REGISTRY-L1-1-1.DLL * API-MS-WIN-SHCORE-STREAM-L1-1-0.DLL * API-MS-WIN-SHCORE-STREAM-WINRT-L1-1-0.DLL * API-MS-WIN-SHCORE-SYSINFO-L1-1-0.DLL * API-MS-WIN-SHCORE-THREAD-L1-1-0.DLL * API-MS-WIN-SHCORE-UNICODEANSI-L1-1-0.DLL
Regards
https://bugs.winehq.org/show_bug.cgi?id=44793
DenTaKu dentaku@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dentaku@web.de
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #10 from Justin Mitzel katoflip@protonmail.com --- I'm curious, how hard would it be to fix this?
https://bugs.winehq.org/show_bug.cgi?id=44793
Justin Mitzel katoflip@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|3.4 |3.8
https://bugs.winehq.org/show_bug.cgi?id=44793
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|3.8 |3.4
--- Comment #11 from Fabian Maurer dark.shadow4@web.de --- Please don't change the version field, that's the version it was first reported in.
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #12 from Justin Mitzel katoflip@protonmail.com --- Ah, sorry. I changed it because it still happens in 3.8
https://bugs.winehq.org/show_bug.cgi?id=44793
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #13 from Justin Mitzel katoflip@protonmail.com --- It appears that release 3.11 of Wine-staging fixed this issue
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #14 from Justin Mitzel katoflip@protonmail.com --- Although it does throw error code SU-PQR1603, which I am not sure if it is related or not.
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello Justin,
--- quote --- It appears that release 3.11 of Wine-staging fixed this issue
Although it does throw error code SU-PQR1603, which I am not sure if it is related or not. --- quote ---
this is a client auto-updater error code (failure to update some DX components) - the client exits earlier now.
The actual crash this bug report is about appears later. I've checked it, the stupid code is still present - even with most recent/up-to-date version.
https://epicgames-download1.akamaized.net/Builds/UnrealEngineLauncher/Instal...
--- snip --- ... AppSettings: Version: 7.9.2-4043988+++Portal+Main AppSettings: CommandLine: "C:/Program Files/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" -Commandlet=selfupdateinstall -newinstancecommand="IC1TYXZlVG9Vc2VyRGlyIC1NZXNzYWdpbmc$" -ForcedRestart ... --- snip ---
In addition, Wine-Staging doesn't contain any changes related to the problem in between 3.8 and 3.11
Regards
https://bugs.winehq.org/show_bug.cgi?id=44793
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikhail.v.gavrilov@gmail.co | |m
--- Comment #16 from Anastasius Focht focht@gmx.net --- *** Bug 46095 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44793
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |bunglehead@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #17 from Nikolay Sivov bunglehead@gmail.com --- In current git shcore does not use shell32 or shlwapi, and shlwapi is forwarding to it. Unfortunately launcher seems to fail earlier now, I don't see LoadLibrary/FreeLibrary part.
https://bugs.winehq.org/show_bug.cgi?id=44793
Blauer_Hunger blauerhunger@outlook.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |blauerhunger@outlook.de
https://bugs.winehq.org/show_bug.cgi?id=44793
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|bunglehead@gmail.com |wine-bugs@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=44793
Anthony Jagers noonetinone@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |noonetinone@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44793
--- Comment #18 from Anthony Jagers noonetinone@gmail.com --- It throws error code SU-PQR2147483904. It then give a backtrace. I'll post if anyone wants it. Tested with 4.2 staging.
https://bugs.winehq.org/show_bug.cgi?id=44793
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44793
Ben Anderson roothorick@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |roothorick@gmail.com
--- Comment #19 from Ben Anderson roothorick@gmail.com --- It does look like this was fixed. With the employment of workarounds for other issues, I have the launcher functional enough to download, install, and run games under 4.3-staging.
https://bugs.winehq.org/show_bug.cgi?id=44793
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |29a15a35f578d215a6edf832dd9 | |878c3c4c94e4f Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #20 from Anastasius Focht focht@gmx.net --- Hello folks,
this was fixed by commit https://source.winehq.org/git/wine.git/commitdiff/29a15a35f578d215a6edf832dd... and a number of related commits.
Thanks Nikolay
* shlwapi: https://source.winehq.org/git/wine.git/?a=search&h=HEAD&st=commit&am... (from November 2018 onwards) * shcore: https://source.winehq.org/git/wine.git/commitdiff/d1443c3a5056ad7ec3831de52f... (and later)
One has to pass '-enablehighdpi' command line argument to hit the code path.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Epic Games/Launcher/Portal/Binaries/Win32
$ WINEDEBUG=+seh,+relay,+shcore,+module,+imports wine ./EpicGamesLauncher.exe -enablehighdpi >>log.txt 2>&1 ... 0051:trace:module:load_builtin_callback loaded shlwapi.dll 0x11eb98 0x7e0f0000 0051:trace:module:load_dll Loaded module L"\??\C:\windows\system32\shlwapi.dll" (builtin) at 0x7e0f0000 0051:trace:imports:import_dll --- DelayLoadFailureHook shlwapi.dll.560 = 0x7b4311c4 0051:trace:imports:import_dll --- Ordinal shlwapi.dll.2 = 0x7e0f7968 0051:trace:imports:import_dll --- PathAddBackslashA shlwapi.dll.568 = 0x7e0f9f88 0051:trace:imports:import_dll --- PathAddBackslashW shlwapi.dll.569 = 0x7e0f9fb0 0051:trace:imports:import_dll --- PathAppendA shlwapi.dll.572 = 0x7e0fa028 ... 0051:trace:imports:import_dll --- PathStripToRootW shlwapi.dll.670 = 0x7e0faf78 0051:trace:imports:import_dll --- PathUnquoteSpacesA shlwapi.dll.677 = 0x7e0fb090 0051:trace:imports:import_dll --- PathUnquoteSpacesW shlwapi.dll.678 = 0x7e0fb0b8 0051:trace:module:find_forwarded_export delay loading L"shcore.dll" for 'shcore.SHCreateStreamOnFileW' 0051:trace:module:load_dll looking for L"shcore.dll" in L"C:\Program Files\Epic Games\Launcher\Portal\Binaries\Win32;C:\windows\system32;C:\windows\system;C:\windows;.;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0051:trace:module:map_image mapped PE file at 0x10000000-0x10003000 0051:trace:module:map_image mapping section .text at 0x10001000 off 200 size 5 virt 1000 flags 60000020 0051:trace:module:map_image clearing 0x10001200 - 0x10002000 0051:trace:module:map_image mapping section .reloc at 0x10002000 off 400 size 8 virt 1000 flags 42000040 0051:trace:module:map_image clearing 0x10002200 - 0x10003000 0051:trace:module:get_load_order looking for L"C:\windows\system32\shcore.dll" 0051:trace:module:get_load_order got hardcoded default for L"shcore.dll" 0051:trace:module:load_dll L"\??\C:\windows\system32\shcore.dll" is a fake Wine dll 0051:trace:module:load_builtin_dll Trying built-in L"shcore.dll" 0051:trace:module:load_dll looking for L"user32.dll" in L"C:\Program Files\Epic Games\Launcher\Portal\Binaries\Win32;C:\windows\system32;C:\windows\system;C:\windows;.;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0051:trace:module:load_dll Found L"C:\windows\system32\user32.dll" for L"user32.dll" at 0x7e6a0000, count=6 0051:trace:imports:import_dll --- GetDpiForMonitorInternal user32.dll.289 = 0x7e6aa6fc 0051:trace:imports:import_dll --- GetProcessDpiAwarenessInternal user32.dll.349 = 0x7e6ab00c 0051:trace:imports:import_dll --- SetProcessDpiAwarenessInternal user32.dll.642 = 0x7e6adc1c ... 0051:Call ucrtbase._wcsnicmp(017cedbe L"pic Games\Launcher\Portal\Binaries\Win32\EpicGamesLauncher.exe" -enablehighdpi -SaveToUserDir -Messaging",013a719a L"nablehighdpi",0000000c) ret=00560d81 0051:Ret ucrtbase._wcsnicmp() retval=00000002 ret=00560d81 ... 0051:Call KERNEL32.LoadLibraryW(003d65a0 L"shcore.dll") ret=005aeb10 0051:trace:module:load_dll looking for L"shcore.dll" in L"C:\Program Files\Epic Games\Launcher\Portal\Binaries\Win32;C:\windows\system32;C:\windows\system;C:\windows;.;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0051:trace:module:load_dll Found L"C:\windows\system32\shcore.dll" for L"shcore.dll" at 0x7e980000, count=-1 0051:Ret KERNEL32.LoadLibraryW() retval=7e980000 ret=005aeb10 0051:Call KERNEL32.SetErrorMode(00000000) ret=005aad14 0051:Ret KERNEL32.SetErrorMode() retval=00008000 ret=005aad14 0051:Call KERNEL32.GetProcAddress(7e980000,01e6f834 "SetProcessDpiAwareness") ret=005aa87d 0051:Ret KERNEL32.GetProcAddress() retval=7e98fbdc ret=005aa87d 0051:Call KERNEL32.GetProcAddress(7e980000,01e6f82c "GetDpiForMonitor") ret=005aa87d 0051:Ret KERNEL32.GetProcAddress() retval=7e98f2a8 ret=005aa87d 0051:Call KERNEL32.FreeLibrary(7e980000) ret=005aa48a 0051:trace:module:LdrUnloadDll (0x7e980000) 0051:trace:module:LdrUnloadDll (L"shcore.dll") - START 0051:trace:module:LdrUnloadDll END 0051:Ret KERNEL32.FreeLibrary() retval=00000001 ret=005aa48a 0051:Call shcore.SetProcessDpiAwareness(00000002) ret=005a1faa 0051:Call user32.SetProcessDpiAwarenessInternal(00000002) ret=7e9903a5 0051:Ret user32.SetProcessDpiAwarenessInternal() retval=00000000 ret=7e9903a5 0051:Ret shcore.SetProcessDpiAwareness() retval=80070005 ret=005a1faa ... --- snip ---
App log file (build):
--- snip --- LogInit: Build: 7.9.2-4043988+++Portal+Main-PF-4030315-8420184 LogInit: Engine Version: 4.18.0-4043988+++Portal+Main LogInit: Compatible Engine Version: 4.18.0-4043988+++Portal+Main LogInit: Net CL: 4043988 LogInit: Compiled (32-bit): May 2 2018 06:05:17 LogInit: Compiled with Visual C++: 19.00.24215.01 LogInit: Build Configuration: Shipping LogInit: Branch Name: ++Portal+Main LogInit: Command line: "C:\Program Files\Epic Games\Launcher\Portal\Binaries\Win32\EpicGamesLauncher.exe" -enablehighdpi -SaveToUserDir -Messaging LogInit: Base directory: C:/Program Files/Epic Games/Launcher/Portal/Binaries/Win32/ LogInit: Installed Engine Build: 1 --- snip ---
The brain damaged code:
--- snip --- 005A1F50 PUSH EpicGame.013A7198 ; UNICODE "enablehighdpi" 005A1F55 CALL EpicGame.0053FAB0 005A1F5A PUSH EAX 005A1F5B CALL EpicGame.00560CE0 ; parse app command line 005A1F60 ADD ESP,8 005A1F63 TEST AL,AL 005A1F65 JE SHORT EpicGame.005A1FDE ; has 'enablehighdpi' arg? 005A1F67 PUSH ESI 005A1F68 PUSH EDI 005A1F69 PUSH EpicGame.013A71B4 ; UNICODE "shcore.dll" 005A1F6E CALL EpicGame.005AA8B0 005A1F73 MOV ESI,EAX 005A1F75 ADD ESP,4 005A1F78 TEST ESI,ESI 005A1F7A JE SHORT EpicGame.005A1FAD 005A1F7C PUSH EpicGame.013A71CC ; UNICODE "SetProcessDpiAwareness" 005A1F81 PUSH ESI 005A1F82 CALL EpicGame.005AA7A0 005A1F87 PUSH EpicGame.013A71FC ; UNICODE "GetDpiForMonitor" 005A1F8C PUSH ESI 005A1F8D MOV EDI,EAX 005A1F8F CALL EpicGame.005AA7A0 005A1F94 PUSH ESI 005A1F95 MOV DWORD PTR DS:[17FC578],EAX 005A1F9A CALL EpicGame.005AA480 005A1F9F ADD ESP,14 005A1FA2 TEST EDI,EDI 005A1FA4 JE SHORT EpicGame.005A1FDC 005A1FA6 PUSH 2 005A1FA8 CALL EDI 005A1FAA POP EDI 005A1FAB POP ESI 005A1FAC RETN 005A1FAD PUSH EpicGame.013A7220 ; UNICODE "user32.dll" 005A1FB2 CALL EpicGame.005AA8B0 005A1FB7 MOV ESI,EAX 005A1FB9 ADD ESP,4 005A1FBC TEST ESI,ESI 005A1FBE JE SHORT EpicGame.005A1FDC 005A1FC0 PUSH EpicGame.013A7238 ; UNICODE "SetProcessDPIAware" 005A1FC5 PUSH ESI 005A1FC6 CALL EpicGame.005AA7A0 005A1FCB PUSH ESI 005A1FCC MOV EDI,EAX 005A1FCE CALL EpicGame.005AA480 005A1FD3 ADD ESP,0C 005A1FD6 TEST EDI,EDI 005A1FD8 JE SHORT EpicGame.005A1FDC 005A1FDA CALL EDI 005A1FDC POP EDI 005A1FDD POP ESI 005A1FDE RETN --- snip ---
$ sha1sum EpicInstaller-7.9.2.msi b1353946ebf4fe1519da2c6d56c7cad5b7c0b464 EpicInstaller-7.9.2.msi
$ du -sh EpicInstaller-7.9.2.msi 31M EpicInstaller-7.9.2.msi
$ wine --version wine-4.3-188-gab7756619c
Regards
https://bugs.winehq.org/show_bug.cgi?id=44793
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #21 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.4.