aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/Compiler_2.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core/Compiler_2.cs')
-rw-r--r--src/WixToolset.Core/Compiler_2.cs45
1 files changed, 26 insertions, 19 deletions
diff --git a/src/WixToolset.Core/Compiler_2.cs b/src/WixToolset.Core/Compiler_2.cs
index 85fb9e4c..c5f3fb6f 100644
--- a/src/WixToolset.Core/Compiler_2.cs
+++ b/src/WixToolset.Core/Compiler_2.cs
@@ -632,23 +632,27 @@ namespace WixToolset.Core
632 632
633 switch (this.CurrentPlatform) 633 switch (this.CurrentPlatform)
634 { 634 {
635 case Platform.X86: 635 case Platform.X86:
636 platform = "Intel"; 636 platform = "Intel";
637 break; 637 break;
638 case Platform.X64: 638 case Platform.X64:
639 platform = "x64"; 639 platform = "x64";
640 msiVersion = 200; 640 msiVersion = 200;
641 break; 641 break;
642 case Platform.IA64: 642 case Platform.IA64:
643 platform = "Intel64"; 643 platform = "Intel64";
644 msiVersion = 200; 644 msiVersion = 200;
645 break; 645 break;
646 case Platform.ARM: 646 case Platform.ARM:
647 platform = "Arm"; 647 platform = "Arm";
648 msiVersion = 500; 648 msiVersion = 500;
649 break; 649 break;
650 default: 650 case Platform.ARM64:
651 throw new ArgumentException("Unknown platform enumeration '{0}' encountered.", this.CurrentPlatform.ToString()); 651 platform = "Arm64";
652 msiVersion = 500;
653 break;
654 default:
655 throw new ArgumentException("Unknown platform enumeration '{0}' encountered.", this.CurrentPlatform.ToString());
652 } 656 }
653 657
654 foreach (var attrib in node.Attributes()) 658 foreach (var attrib in node.Attributes())
@@ -768,6 +772,9 @@ namespace WixToolset.Core
768 case "arm": 772 case "arm":
769 platform = "Arm"; 773 platform = "Arm";
770 break; 774 break;
775 case "arm64":
776 platform = "Arm64";
777 break;
771 case "": 778 case "":
772 break; 779 break;
773 default: 780 default:
@@ -813,13 +820,13 @@ namespace WixToolset.Core
813 this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "InstallPrivileges", "InstallScope")); 820 this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "InstallPrivileges", "InstallScope"));
814 } 821 }
815 822
816 if ((0 != String.Compare(platform, "Intel", StringComparison.OrdinalIgnoreCase)) && 200 > msiVersion) 823 if ((String.Equals(platform, "X64", StringComparison.OrdinalIgnoreCase) || String.Equals(platform, "Intel64", StringComparison.OrdinalIgnoreCase)) && 200 > msiVersion)
817 { 824 {
818 msiVersion = 200; 825 msiVersion = 200;
819 this.Core.Write(WarningMessages.RequiresMsi200for64bitPackage(sourceLineNumbers)); 826 this.Core.Write(WarningMessages.RequiresMsi200for64bitPackage(sourceLineNumbers));
820 } 827 }
821 828
822 if ((0 == String.Compare(platform, "Arm", StringComparison.OrdinalIgnoreCase)) && 500 > msiVersion) 829 if ((String.Equals(platform, "Arm", StringComparison.OrdinalIgnoreCase) || String.Equals(platform, "Arm64", StringComparison.OrdinalIgnoreCase)) && 500 > msiVersion)
823 { 830 {
824 msiVersion = 500; 831 msiVersion = 500;
825 this.Core.Write(WarningMessages.RequiresMsi500forArmPackage(sourceLineNumbers)); 832 this.Core.Write(WarningMessages.RequiresMsi500forArmPackage(sourceLineNumbers));