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

Alexandre Julliard julliard at winehq.org
Mon Mar 26 12:29:29 CDT 2012


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

Author: André Hentschel <nerv at dawncrow.de>
Date:   Sun Mar 18 19:26:50 2012 +0100

msi: Allow ARM installations.

---

 dlls/msi/msipriv.h |    4 +++-
 dlls/msi/package.c |    8 ++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 0591050..cd16baf 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -338,7 +338,8 @@ enum platform
 {
     PLATFORM_INTEL,
     PLATFORM_INTEL64,
-    PLATFORM_X64
+    PLATFORM_X64,
+    PLATFORM_ARM
 };
 
 enum clr_version
@@ -1148,6 +1149,7 @@ static const WCHAR szIntel[] = {'I','n','t','e','l',0};
 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 szWow6432NodeCLSID[] = {'W','o','w','6','4','3','2','N','o','d','e','\\','C','L','S','I','D',0};
 static const WCHAR szWow6432Node[] = {'W','o','w','6','4','3','2','N','o','d','e',0};
 static const WCHAR szStreams[] = {'_','S','t','r','e','a','m','s',0};
diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index dd11374..25d00b4 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -1297,6 +1297,8 @@ static UINT msi_parse_summary( MSISUMMARYINFO *si, MSIPACKAGE *package )
         package->platform = PLATFORM_INTEL64;
     else if (!strcmpW( template, szX64 ) || !strcmpW( template, szAMD64 ))
         package->platform = PLATFORM_X64;
+    else if (!strcmpW( template, szARM ))
+        package->platform = PLATFORM_ARM;
     else
     {
         WARN("unknown platform %s\n", debugstr_w(template));
@@ -1341,9 +1343,11 @@ static UINT validate_package( MSIPACKAGE *package )
     UINT i;
 
     if (package->platform == PLATFORM_INTEL64)
-    {
         return ERROR_INSTALL_PLATFORM_UNSUPPORTED;
-    }
+#ifndef __arm__
+    if (package->platform == PLATFORM_ARM)
+        return ERROR_INSTALL_PLATFORM_UNSUPPORTED;
+#endif
     IsWow64Process( GetCurrentProcess(), &is_wow64 );
     if (package->platform == PLATFORM_X64)
     {




More information about the wine-cvs mailing list