aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Converters
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-11-01 17:45:42 -0600
committerSean Hall <r.sean.hall@gmail.com>2020-11-01 18:38:20 -0600
commit06b0b7b3e5504d062fc2226dd9a64dc4efa41f47 (patch)
treec46eb0f6a4b3a9e1e0eb5eb7d9217d769871b55a /src/WixToolset.Converters
parentf48db8f05c4fa2ad8a67190db8c43cb2b364bd99 (diff)
downloadwix-06b0b7b3e5504d062fc2226dd9a64dc4efa41f47.tar.gz
wix-06b0b7b3e5504d062fc2226dd9a64dc4efa41f47.tar.bz2
wix-06b0b7b3e5504d062fc2226dd9a64dc4efa41f47.zip
Add warnings for util:RegistrySearch (value) and DisplayInternalUI.
Diffstat (limited to 'src/WixToolset.Converters')
-rw-r--r--src/WixToolset.Converters/WixConverter.cs38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/WixToolset.Converters/WixConverter.cs b/src/WixToolset.Converters/WixConverter.cs
index ac63f26b..c713045e 100644
--- a/src/WixToolset.Converters/WixConverter.cs
+++ b/src/WixToolset.Converters/WixConverter.cs
@@ -78,6 +78,7 @@ namespace WixToolset.Converters
78 private static readonly XName VariableElementName = WixNamespace + "Variable"; 78 private static readonly XName VariableElementName = WixNamespace + "Variable";
79 private static readonly XName UtilCloseApplicationElementName = WixUtilNamespace + "CloseApplication"; 79 private static readonly XName UtilCloseApplicationElementName = WixUtilNamespace + "CloseApplication";
80 private static readonly XName UtilPermissionExElementName = WixUtilNamespace + "PermissionEx"; 80 private static readonly XName UtilPermissionExElementName = WixUtilNamespace + "PermissionEx";
81 private static readonly XName UtilRegistrySearchName = WixUtilNamespace + "RegistrySearch";
81 private static readonly XName UtilXmlConfigElementName = WixUtilNamespace + "XmlConfig"; 82 private static readonly XName UtilXmlConfigElementName = WixUtilNamespace + "XmlConfig";
82 private static readonly XName CustomActionElementName = WixNamespace + "CustomAction"; 83 private static readonly XName CustomActionElementName = WixNamespace + "CustomAction";
83 private static readonly XName PropertyElementName = WixNamespace + "Property"; 84 private static readonly XName PropertyElementName = WixNamespace + "Property";
@@ -151,8 +152,8 @@ namespace WixToolset.Converters
151 { WixConverter.ErrorElementName, this.ConvertErrorElement }, 152 { WixConverter.ErrorElementName, this.ConvertErrorElement },
152 { WixConverter.ExePackageElementName, this.ConvertSuppressSignatureValidation }, 153 { WixConverter.ExePackageElementName, this.ConvertSuppressSignatureValidation },
153 { WixConverter.ModuleElementName, this.ConvertModuleElement }, 154 { WixConverter.ModuleElementName, this.ConvertModuleElement },
154 { WixConverter.MsiPackageElementName, this.ConvertSuppressSignatureValidation }, 155 { WixConverter.MsiPackageElementName, this.ConvertWindowsInstallerPackageElement },
155 { WixConverter.MspPackageElementName, this.ConvertSuppressSignatureValidation }, 156 { WixConverter.MspPackageElementName, this.ConvertWindowsInstallerPackageElement },
156 { WixConverter.MsuPackageElementName, this.ConvertSuppressSignatureValidation }, 157 { WixConverter.MsuPackageElementName, this.ConvertSuppressSignatureValidation },
157 { WixConverter.PayloadElementName, this.ConvertSuppressSignatureValidation }, 158 { WixConverter.PayloadElementName, this.ConvertSuppressSignatureValidation },
158 { WixConverter.PermissionExElementName, this.ConvertPermissionExElement }, 159 { WixConverter.PermissionExElementName, this.ConvertPermissionExElement },
@@ -171,6 +172,7 @@ namespace WixToolset.Converters
171 { WixConverter.VariableElementName, this.ConvertVariableElement }, 172 { WixConverter.VariableElementName, this.ConvertVariableElement },
172 { WixConverter.UtilCloseApplicationElementName, this.ConvertUtilCloseApplicationElementName }, 173 { WixConverter.UtilCloseApplicationElementName, this.ConvertUtilCloseApplicationElementName },
173 { WixConverter.UtilPermissionExElementName, this.ConvertUtilPermissionExElement }, 174 { WixConverter.UtilPermissionExElementName, this.ConvertUtilPermissionExElement },
175 { WixConverter.UtilRegistrySearchName, this.ConvertUtilRegistrySearchElement },
174 { WixConverter.UtilXmlConfigElementName, this.ConvertUtilXmlConfigElement }, 176 { WixConverter.UtilXmlConfigElementName, this.ConvertUtilXmlConfigElement },
175 { WixConverter.PropertyElementName, this.ConvertPropertyElement }, 177 { WixConverter.PropertyElementName, this.ConvertPropertyElement },
176 { WixConverter.WixElementWithoutNamespaceName, this.ConvertElementWithoutNamespace }, 178 { WixConverter.WixElementWithoutNamespaceName, this.ConvertElementWithoutNamespace },
@@ -863,6 +865,16 @@ namespace WixToolset.Converters
863 865
864 private void ConvertUITextElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Value"); 866 private void ConvertUITextElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Value");
865 867
868 private void ConvertWindowsInstallerPackageElement(XElement element)
869 {
870 this.ConvertSuppressSignatureValidation(element);
871
872 if (null != element.Attribute("DisplayInternalUI"))
873 {
874 this.OnError(ConverterTestType.DisplayInternalUiNotConvertable, element, "The DisplayInternalUI functionality has fundamentally changed and requires BootstrapperApplication support.");
875 }
876 }
877
866 private void ConvertCustomActionElement(XElement xCustomAction) 878 private void ConvertCustomActionElement(XElement xCustomAction)
867 { 879 {
868 var xBinaryKey = xCustomAction.Attribute("BinaryKey"); 880 var xBinaryKey = xCustomAction.Attribute("BinaryKey");
@@ -986,6 +998,18 @@ namespace WixToolset.Converters
986 } 998 }
987 } 999 }
988 1000
1001 private void ConvertUtilRegistrySearchElement(XElement element)
1002 {
1003 if (this.SourceVersion < 4)
1004 {
1005 var result = element.Attribute("Result")?.Value;
1006 if (result == null || result == "value")
1007 {
1008 this.OnError(ConverterTestType.UtilRegistryValueSearchBehaviorChange, element, "Breaking change: util:RegistrySearch for a value no longer clears the variable when the key or value is missing.");
1009 }
1010 }
1011 }
1012
989 private void ConvertUtilXmlConfigElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Value"); 1013 private void ConvertUtilXmlConfigElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Value");
990 1014
991 /// <summary> 1015 /// <summary>
@@ -1422,6 +1446,16 @@ namespace WixToolset.Converters
1422 /// A MediaTemplate with no attributes set is now provided by default. 1446 /// A MediaTemplate with no attributes set is now provided by default.
1423 /// </summary> 1447 /// </summary>
1424 DefaultMediaTemplate, 1448 DefaultMediaTemplate,
1449
1450 /// <summary>
1451 /// util:RegistrySearch has breaking change when value is missing.
1452 /// </summary>
1453 UtilRegistryValueSearchBehaviorChange,
1454
1455 /// <summary>
1456 /// DisplayInternalUI can't be converted.
1457 /// </summary>
1458 DisplayInternalUiNotConvertable,
1425 } 1459 }
1426 } 1460 }
1427} 1461}