https://git.reactos.org/?p=reactos.git;a=commitdiff;h=de59794f369377e95fa9d…
commit de59794f369377e95fa9dfef05ac7cc6dca1b3be
Author: winesync <ros-dev(a)reactos.org>
AuthorDate: Sun Mar 13 00:16:15 2022 +0100
Commit: Mark Jansen <mark.jansen(a)reactos.org>
CommitDate: Sun Mar 20 19:28:06 2022 +0100
[WINESYNC] msi: Allow ARM64 installations.
Signed-off-by: André Hentschel <nerv(a)dawncrow.de>
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
wine commit id d5a169463b30af229368a5559b20f9ae415c3048 by André Hentschel
<nerv(a)dawncrow.de>
---
dll/win32/msi/msipriv.h | 4 +++-
dll/win32/msi/package.c | 5 +++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/dll/win32/msi/msipriv.h b/dll/win32/msi/msipriv.h
index 304dab049e4..b7897df904b 100644
--- a/dll/win32/msi/msipriv.h
+++ b/dll/win32/msi/msipriv.h
@@ -361,7 +361,8 @@ enum platform
PLATFORM_INTEL,
PLATFORM_INTEL64,
PLATFORM_X64,
- PLATFORM_ARM
+ PLATFORM_ARM,
+ PLATFORM_ARM64
};
enum clr_version
@@ -1186,6 +1187,7 @@ static const WCHAR szIntel64[] =
{'I','n','t','e','l','6','4',0};
static const WCHAR szX64[] = {'x','6','4',0};
static const WCHAR szAMD64[] =
{'A','M','D','6','4',0};
static const WCHAR szARM[] = {'A','r','m',0};
+static const WCHAR szARM64[] =
{'A','r','m','6','4',0};
static const WCHAR szWow6432NodeCLSID[] =
{'W','o','w','6','4','3','2','N','o','d','e','\\','C','L','S','I','D',0};
static const WCHAR szStreams[] =
{'_','S','t','r','e','a','m','s',0};
static const WCHAR szStorages[] =
{'_','S','t','o','r','a','g','e','s',0};
diff --git a/dll/win32/msi/package.c b/dll/win32/msi/package.c
index 43af32acf14..1211f104c78 100644
--- a/dll/win32/msi/package.c
+++ b/dll/win32/msi/package.c
@@ -1208,6 +1208,7 @@ static enum platform parse_platform( const WCHAR *str )
else if (!strcmpW( str, szIntel64 )) return PLATFORM_INTEL64;
else if (!strcmpW( str, szX64 ) || !strcmpW( str, szAMD64 )) return PLATFORM_X64;
else if (!strcmpW( str, szARM )) return PLATFORM_ARM;
+ else if (!strcmpW( str, szARM64 )) return PLATFORM_ARM64;
return PLATFORM_UNKNOWN;
}
@@ -1289,6 +1290,10 @@ static UINT validate_package( MSIPACKAGE *package )
#ifndef __arm__
if (package->platform == PLATFORM_ARM)
return ERROR_INSTALL_PLATFORM_UNSUPPORTED;
+#endif
+#ifndef __aarch64__
+ if (package->platform == PLATFORM_ARM64)
+ return ERROR_INSTALL_PLATFORM_UNSUPPORTED;
#endif
if (package->platform == PLATFORM_X64)
{