https://bugs.winehq.org/show_bug.cgi?id=51790 --- Comment #1 from Dmitry Timoshkov <dmitry(a)baikal.ru> --- (In reply to Dmitry Timoshkov from comment #0)
MSI relies on GetBinaryType() to return correct architecture for a custom action DLL, however GetBinaryType() started to intentionally fail for DLL files. This for instance leads to inability to run a 32-bit action from a 64-bit installer process.
This essentially breaks any installer in a WoW64 Wine prefix. This bug should probably have 'major' severity set.
Whist it's a pretty serious regression, there was no attempt to fix it yet. In case it's not recognizable on the first sight, here is the relevant commit: commit 02268cb290493c899b56996405ca7c65a8046e3c Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Jul 1 10:47:08 2021 +0200 kernel32: Fix the DLL check in GetBinaryTypeW(). Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51375 Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c index adf6b3c9a60..415f7f65714 100644 --- a/dlls/kernel32/module.c +++ b/dlls/kernel32/module.c @@ -190,7 +190,7 @@ BOOL WINAPI GetBinaryTypeW( LPCWSTR name, LPDWORD type ) status = NtQuerySection( mapping, SectionImageInformation, &info, sizeof(info), NULL ); CloseHandle( mapping ); if (status) return FALSE; - if (!(info.ImageCharacteristics & IMAGE_FILE_DLL)) return FALSE; + if (info.ImageCharacteristics & IMAGE_FILE_DLL) return FALSE; switch (info.Machine) { case IMAGE_FILE_MACHINE_I386: -- 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.