[Bug 51790] MSI is no longer able to detect correct architecture for a custom action DLL
WineHQ Bugzilla
wine-bugs at winehq.org
Sun Oct 10 02:18:31 CDT 2021
https://bugs.winehq.org/show_bug.cgi?id=51790
--- Comment #1 from Dmitry Timoshkov <dmitry at 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 at 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 at 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.
More information about the wine-bugs
mailing list