Signed-off-by: Andr� Hentschel nerv@dawncrow.de --- 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 4e61fdb929..1ea6b77fb9 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 6ac73a3a3f..b57e89d077 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; }
@@ -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) {