From f8d1a711625599ab94630242976a740a4790915e Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Fri, 27 Sep 2024 22:09:24 -0400 Subject: Drop CA path validation in WixUI by default. Add `WixUI/ExtendedPathValidation="yes"` to opt-in. Removed the WIXUI_DONTVALIDATEPATH runtime opt-out. Fixes https://github.com/wixtoolset/issues/issues/8718 Relies on https://github.com/wixtoolset/wix/pull/563 --- src/ext/UI/wixext/UICompiler.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/ext/UI/wixext') diff --git a/src/ext/UI/wixext/UICompiler.cs b/src/ext/UI/wixext/UICompiler.cs index 5f2751c9..57a0dc16 100644 --- a/src/ext/UI/wixext/UICompiler.cs +++ b/src/ext/UI/wixext/UICompiler.cs @@ -56,6 +56,7 @@ namespace WixToolset.UI var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); string id = null; string installDirectory = null; + YesNoType extendedPathValidation = YesNoType.No; foreach (var attrib in element.Attributes()) { @@ -69,6 +70,9 @@ namespace WixToolset.UI case "InstallDirectory": installDirectory = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); break; + case "ExtendedPathValidation": + extendedPathValidation = this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attrib); + break; default: this.ParseHelper.UnexpectedAttribute(element, attrib); break; @@ -87,7 +91,15 @@ namespace WixToolset.UI else { var platform = this.Context.Platform == Platform.ARM64 ? "A64" : this.Context.Platform.ToString(); - this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixUI, $"{id}_{platform}"); + + if (extendedPathValidation == YesNoType.No) + { + this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixUI, $"{id}_{platform}"); + } + else + { + this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixUI, $"{id}_ExtendedPathValidation_{platform}"); + } if (installDirectory != null) { -- cgit v1.2.3-55-g6feb