@joebigelow / wix-1 / commits / fea4fe44

Make Feature/@Absent and Feature/@AllowAdvertise consistent

Fixes wixtoolset/issues#5990

Rob Mensching committed Jul 1, 2020 at 01:59 UTC fea4fe44cdc1734c2453de35133899ed46d95634
1 file changed +3 -33
src/WixToolset.Core/Compiler.cs
+3 -33
@@ -4698,41 +4698,11 @@ namespace WixToolset.Core
4698 case "Id":
4699 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
4700 break;
4701 - case "Absent":
4702 - var absentValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
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 - }
4701 + case "AllowAbsent":
4702 + disallowAbsent = (this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib) == YesNoType.No);
4703 break;
4704 case "AllowAdvertise":
4719 - var advertiseValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
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 - }
4705 + disallowAdvertise = (this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib) == YesNoType.No);
4706 break;
4707 case "ConfigurableDirectory":
4708 configurableDirectory = this.Core.CreateDirectoryReferenceFromInlineSyntax(sourceLineNumbers, attrib, null);