From de59794f369377e95fa9dfef05ac7cc6dca1b3be Mon Sep 17 00:00:00 2001 From: winesync Date: Sun, 13 Mar 2022 00:16:15 +0100 Subject: [PATCH] [WINESYNC] msi: Allow ARM64 installations. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Hentschel Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard wine commit id d5a169463b30af229368a5559b20f9ae415c3048 by André Hentschel --- 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) {