From 643a5c5db1da6fb68fdc353bbbdbecaa1964425e Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Mon, 21 Dec 2020 16:37:04 -0600 Subject: Fix parsing Behavior in ExitCode element. --- src/WixToolset.Core/Compiler_Bundle.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/WixToolset.Core/Compiler_Bundle.cs b/src/WixToolset.Core/Compiler_Bundle.cs index b8386138..482232c7 100644 --- a/src/WixToolset.Core/Compiler_Bundle.cs +++ b/src/WixToolset.Core/Compiler_Bundle.cs @@ -1774,9 +1774,24 @@ namespace WixToolset.Core break; case "Behavior": var behaviorString = this.Core.GetAttributeValue(sourceLineNumbers, attrib); - if (!Enum.TryParse(behaviorString, true, out behavior)) + switch (behaviorString) { - this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Behavior", behaviorString, "success, error, scheduleReboot, forceReboot")); + case "error": + behavior = ExitCodeBehaviorType.Error; + break; + case "forceReboot": + behavior = ExitCodeBehaviorType.ForceReboot; + break; + case "scheduleReboot": + behavior = ExitCodeBehaviorType.ScheduleReboot; + break; + case "success": + behavior = ExitCodeBehaviorType.Success; + break; + default: + this.Core.Write(ErrorMessages.IllegalAttributeValueWithLegalList(sourceLineNumbers, node.Name.LocalName, "Behavior", behaviorString, "success, error, scheduleReboot, forceReboot")); + behavior = ExitCodeBehaviorType.Success; // set value to avoid ExpectedAttribute below. + break; } break; default: -- cgit v1.2.3-55-g6feb