[Bug 46281] Multiple Windows 7+ apiset-aware applications fail due to Wine loader lacking support for resolving virtual dlls via 'kernel32.GetModuleHandle' (Archicad 22)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Apr 6 05:22:48 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=46281

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
            Summary|Archicad 22 does not start  |Multiple Windows 7+
                   |at all                      |apiset-aware applications
                   |                            |fail due to Wine loader
                   |                            |lacking support for
                   |                            |resolving virtual dlls via
                   |                            |'kernel32.GetModuleHandle'
                   |                            |(Archicad 22)
          Component|-unknown                    |kernel32

--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming. The problem is that Wine's loader doesn't implement resolution for
Windows 7+ virtual dlls (API sets).

--- snip ---
...
003f:Call KERNEL32.GetModuleHandleA(0023f4f0
"api-ms-win-core-debug-l1-1-0.dll") ret=142c0a2ce
003f:Ret  KERNEL32.GetModuleHandleA() retval=00000000 ret=142c0a2ce
003f:Call ntdll.RtlFreeHeap(00010000,00000000,00071850) ret=142ca71d0
003f:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=142ca71d0
003f:Call ntdll.RtlFreeHeap(00010000,00000000,00071340) ret=142ca71d0
003f:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=142ca71d0
003f:Call KERNEL32.TerminateProcess(ffffffffffffffff,000000ff) ret=142bd9f53
--- snip ---

The requested API set is implemented in 'kernelbase.dll' and on Windows 7+ the
dll is always mapped. 'kernel32.GetModuleHandle()' should obviously return a
valid module handle here. The requested API set stub dll is purely "virtual"
here, it doesn't need to be mapped.

https://www.geoffchappell.com/studies/windows/win32/apisetschema/history/sets61.htm

--- quote ---
API-MS-Win-Core-Debug-L1-1-0     kernelbase.dll           discontinued in 10.0
--- quote ---

http://www.geoffchappell.com/studies/windows/win32/apisetschema/index.htm

$ sha1sum ARCHICAD-22-USA-3006-1.4.exe 
981ffe19e9b03b2736dddc335c9dfc8a7cfe0750  ARCHICAD-22-USA-3006-1.4.exe

$ du -sh ARCHICAD-22-USA-3006-1.4.exe 
1.9G    ARCHICAD-22-USA-3006-1.4.exe

$ wine --version
wine-4.5-227-g6552b7144e

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list