diff options
Diffstat (limited to 'src/WixToolset.Core/Compiler_Bundle.cs')
-rw-r--r-- | src/WixToolset.Core/Compiler_Bundle.cs | 25 |
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 | } |