aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-07-01 01:59:15 -0700
committerRob Mensching <rob@firegiant.com>2020-07-01 11:21:56 -0700
commitfea4fe44cdc1734c2453de35133899ed46d95634 (patch)
tree774da919dcb27f24a81e19adb2e8ed28d3901247 /src
parent4e7f39779e9975b002c847c182b696d9470c713c (diff)
downloadwix-fea4fe44cdc1734c2453de35133899ed46d95634.tar.gz
wix-fea4fe44cdc1734c2453de35133899ed46d95634.tar.bz2
wix-fea4fe44cdc1734c2453de35133899ed46d95634.zip
Make Feature/@Absent and Feature/@AllowAdvertise consistent
Fixes wixtoolset/issues#5990
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Core/Compiler.cs36
1 files changed, 3 insertions, 33 deletions
diff --git a/src/WixToolset.Core/Compiler.cs b/src/WixToolset.Core/Compiler.cs
index e598f540..4d0e608b 100644
--- a/src/WixToolset.Core/Compiler.cs
+++ b/src/WixToolset.Core/Compiler.cs
@@ -4698,41 +4698,11 @@ namespace WixToolset.Core
4698 case "Id": 4698 case "Id":
4699 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); 4699 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
4700 break; 4700 break;
4701 case "Absent": 4701 case "AllowAbsent":
4702 var absentValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 4702 disallowAbsent = (this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib) == YesNoType.No);
4703 switch (absentValue)
4704 {
4705 case "allow": // this is the default
4706 break;
4707 case "disallow":
4708 //bits |= MsiInterop.MsidbFeatureAttributesUIDisallowAbsent;
4709 disallowAbsent = true;
4710 break;
4711 case "":
4712 break;
4713 default:
4714 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, absentValue, "allow", "disallow"));
4715 break;
4716 }
4717 break; 4703 break;
4718 case "AllowAdvertise": 4704 case "AllowAdvertise":
4719 var advertiseValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 4705 disallowAdvertise = (this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib) == YesNoType.No);
4720 switch (advertiseValue)
4721 {
4722 case "disallow":
4723 case "no":
4724 //bits |= MsiInterop.MsidbFeatureAttributesDisallowAdvertise;
4725 disallowAdvertise = true;
4726 break;
4727 case "allow":
4728 case "yes": // this is the default
4729 break;
4730 case "":
4731 break;
4732 default:
4733 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, advertiseValue, "no", "system", "yes"));
4734 break;
4735 }
4736 break; 4706 break;
4737 case "ConfigurableDirectory": 4707 case "ConfigurableDirectory":
4738 configurableDirectory = this.Core.CreateDirectoryReferenceFromInlineSyntax(sourceLineNumbers, attrib, null); 4708 configurableDirectory = this.Core.CreateDirectoryReferenceFromInlineSyntax(sourceLineNumbers, attrib, null);