=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: msi: Allow ARM64 installations.

Alexandre Julliard julliard at winehq.org
Mon Nov 12 16:26:54 CST 2018


Module: wine
Branch: master
Commit: d5a169463b30af229368a5559b20f9ae415c3048
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d5a169463b30af229368a5559b20f9ae415c3048

Author: André Hentschel <nerv at dawncrow.de>
Date:   Sat Nov 10 15:13:47 2018 +0100

msi: Allow ARM64 installations.

Signed-off-by: André Hentschel <nerv at dawncrow.de>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msi/msipriv.h | 4 +++-
 dlls/msi/package.c | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 4e61fdb..1ea6b77 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -361,7 +361,8 @@ enum platform
     PLATFORM_INTEL,
     PLATFORM_INTEL64,
     PLATFORM_X64,
-    PLATFORM_ARM
+    PLATFORM_ARM,
+    PLATFORM_ARM64
 };
 
 enum clr_version
@@ -1185,6 +1186,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/dlls/msi/package.c b/dlls/msi/package.c
index 6ac73a3..b57e89d 100644
--- a/dlls/msi/package.c
+++ b/dlls/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;
 }
 
@@ -1290,6 +1291,10 @@ static UINT validate_package( MSIPACKAGE *package )
     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)
     {
         if (!is_64bit && !is_wow64)




More information about the wine-cvs mailing list