aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/Compiler_Bundle.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core/Compiler_Bundle.cs')
-rw-r--r--src/WixToolset.Core/Compiler_Bundle.cs25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/WixToolset.Core/Compiler_Bundle.cs b/src/WixToolset.Core/Compiler_Bundle.cs
index 944f089e..7a386de7 100644
--- a/src/WixToolset.Core/Compiler_Bundle.cs
+++ b/src/WixToolset.Core/Compiler_Bundle.cs
@@ -33,7 +33,7 @@ namespace WixToolset.Core
33 Identifier id = null; 33 Identifier id = null;
34 string key = null; 34 string key = null;
35 string valueName = null; 35 string valueName = null;
36 var win64 = YesNoType.NotSet; 36 var win64 = this.Context.IsCurrentPlatform64Bit;
37 37
38 foreach (var attrib in node.Attributes()) 38 foreach (var attrib in node.Attributes())
39 { 39 {
@@ -44,15 +44,30 @@ namespace WixToolset.Core
44 case "Id": 44 case "Id":
45 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); 45 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
46 break; 46 break;
47 case "Bitness":
48 var bitnessValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
49 switch (bitnessValue)
50 {
51 case "always32":
52 win64 = false;
53 break;
54 case "always64":
55 win64 = true;
56 break;
57 case "default":
58 case "":
59 break;
60 default:
61 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, bitnessValue, "default", "always32", "always64"));
62 break;
63 }
64 break;
47 case "Key": 65 case "Key":
48 key = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 66 key = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
49 break; 67 break;
50 case "Value": 68 case "Value":
51 valueName = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 69 valueName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
52 break; 70 break;
53 case "Win64":
54 win64 = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
55 break;
56 default: 71 default:
57 this.Core.UnexpectedAttribute(node, attrib); 72 this.Core.UnexpectedAttribute(node, attrib);
58 break; 73 break;
@@ -76,7 +91,7 @@ namespace WixToolset.Core
76 91
77 var attributes = WixApprovedExeForElevationAttributes.None; 92 var attributes = WixApprovedExeForElevationAttributes.None;
78 93
79 if (win64 == YesNoType.Yes) 94 if (win64)
80 { 95 {
81 attributes |= WixApprovedExeForElevationAttributes.Win64; 96 attributes |= WixApprovedExeForElevationAttributes.Win64;
82 } 97 }