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);