https://bugs.winehq.org/show_bug.cgi?id=49400
Bug ID: 49400 Summary: Multiple Windows 10 applications need IsWow64Process2 to determine real OS architecture (ex: detect WOW64 on ARM64) Product: Wine Version: 5.10 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: kernelbase Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
to track:
https://www.winehq.org/pipermail/wine-devel/2020-June/168211.html
https://source.winehq.org/patches/data/187205
I've found some apps on Github using it. No idea which app/game Dmitry wants to fix ;-)
* https://github.com/joelbyford/WowProcNewVsOld * https://github.com/wixtoolset/dutil * https://github.com/guided-hacking/GuidedHacking-Injector
Microsoft docs:
https://docs.microsoft.com/en-us/windows/win32/api/wow64apiset/nf-wow64apise...
.NET core mentions this as well:
https://github.com/dotnet/runtime/issues/26612
--- quote --- When x86 code is executed on an ARM64 Windows, System.Runtime.InteropServices.RuntimeInformation.OSArchitecture returns X86 and System.Environment.Is64BitOperatingSystem returns False. These two properties call GetNativeSystemInfo and IsWow64Process Kernel32.dll functions respectively, which conceal the real OS architecture from x86 code by returning PROCESSOR_ARCHITECTURE_INTEL (meaning x86) and FALSE. To obtain the real OS architecture, Windows 10 introduced a new IsWow64Process2 function in version 1511.
We need to make a decision how an app may reliably figure out the real OS architecture it is running on: Should we fix the implementation of the existing CoreFX properties? Or do we recommend resorting to an IsWow64Process2 PInvoke wrapped in a necessary try/catch? --- quote ---
$ wine --version wine-5.10-247-gf8955cfb0f
Regards