diff options
Diffstat (limited to 'src/WixToolset.Converters/WixConverter.cs')
-rw-r--r-- | src/WixToolset.Converters/WixConverter.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/WixToolset.Converters/WixConverter.cs b/src/WixToolset.Converters/WixConverter.cs index 9ada4745..09a4168a 100644 --- a/src/WixToolset.Converters/WixConverter.cs +++ b/src/WixToolset.Converters/WixConverter.cs | |||
@@ -110,6 +110,7 @@ namespace WixToolset.Converters | |||
110 | private static readonly XName RequiresRefElementName = WixNamespace + "RequiresRef"; | 110 | private static readonly XName RequiresRefElementName = WixNamespace + "RequiresRef"; |
111 | private static readonly XName MultiStringValueElementName = WixNamespace + "MultiStringValue"; | 111 | private static readonly XName MultiStringValueElementName = WixNamespace + "MultiStringValue"; |
112 | private static readonly XName RemotePayloadElementName = WixNamespace + "RemotePayload"; | 112 | private static readonly XName RemotePayloadElementName = WixNamespace + "RemotePayload"; |
113 | private static readonly XName RegistryKeyElementName = WixNamespace + "RegistryKey"; | ||
113 | private static readonly XName RegistrySearchElementName = WixNamespace + "RegistrySearch"; | 114 | private static readonly XName RegistrySearchElementName = WixNamespace + "RegistrySearch"; |
114 | private static readonly XName RequiredPrivilegeElementName = WixNamespace + "RequiredPrivilege"; | 115 | private static readonly XName RequiredPrivilegeElementName = WixNamespace + "RequiredPrivilege"; |
115 | private static readonly XName RowElementName = WixNamespace + "Row"; | 116 | private static readonly XName RowElementName = WixNamespace + "Row"; |
@@ -225,6 +226,7 @@ namespace WixToolset.Converters | |||
225 | { WixConverter.ProgressTextElementName, this.ConvertProgressTextElement }, | 226 | { WixConverter.ProgressTextElementName, this.ConvertProgressTextElement }, |
226 | { WixConverter.PublishElementName, this.ConvertPublishElement }, | 227 | { WixConverter.PublishElementName, this.ConvertPublishElement }, |
227 | { WixConverter.MultiStringValueElementName, this.ConvertMultiStringValueElement }, | 228 | { WixConverter.MultiStringValueElementName, this.ConvertMultiStringValueElement }, |
229 | { WixConverter.RegistryKeyElementName, this.ConvertRegistryKeyElement }, | ||
228 | { WixConverter.RegistrySearchElementName, this.ConvertRegistrySearchElement }, | 230 | { WixConverter.RegistrySearchElementName, this.ConvertRegistrySearchElement }, |
229 | { WixConverter.RemotePayloadElementName, this.ConvertRemotePayloadElement }, | 231 | { WixConverter.RemotePayloadElementName, this.ConvertRemotePayloadElement }, |
230 | { WixConverter.RequiredPrivilegeElementName, this.ConvertRequiredPrivilegeElement }, | 232 | { WixConverter.RequiredPrivilegeElementName, this.ConvertRequiredPrivilegeElement }, |
@@ -1225,6 +1227,28 @@ namespace WixToolset.Converters | |||
1225 | 1227 | ||
1226 | private void ConvertMultiStringValueElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Value"); | 1228 | private void ConvertMultiStringValueElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Value"); |
1227 | 1229 | ||
1230 | private void ConvertRegistryKeyElement(XElement element) | ||
1231 | { | ||
1232 | var xAction = element.Attribute("Action"); | ||
1233 | |||
1234 | if (xAction != null | ||
1235 | && this.OnError(ConverterTestType.RegistryKeyActionObsolete, element, "The RegistryKey element's Action attribute is obsolete. Action='create' will be converted to ForceCreateOnInstall='yes'. Action='createAndRemoveOnUninstall' will be converted to ForceCreateOnInstall='yes' and ForceDeleteOnUninstall='yes'.")) | ||
1236 | { | ||
1237 | switch (xAction?.Value) | ||
1238 | { | ||
1239 | case "create": | ||
1240 | element.SetAttributeValue("ForceCreateOnInstall", "yes"); | ||
1241 | break; | ||
1242 | case "createAndRemoveOnUninstall": | ||
1243 | element.SetAttributeValue("ForceCreateOnInstall", "yes"); | ||
1244 | element.SetAttributeValue("ForceDeleteOnUninstall", "yes"); | ||
1245 | break; | ||
1246 | } | ||
1247 | |||
1248 | xAction.Remove(); | ||
1249 | } | ||
1250 | } | ||
1251 | |||
1228 | private void ConvertRemotePayloadElement(XElement element) | 1252 | private void ConvertRemotePayloadElement(XElement element) |
1229 | { | 1253 | { |
1230 | var xParent = element.Parent; | 1254 | var xParent = element.Parent; |
@@ -2156,6 +2180,11 @@ namespace WixToolset.Converters | |||
2156 | /// CustomTable elements that don't contain the table definition are now CustomTableRef. | 2180 | /// CustomTable elements that don't contain the table definition are now CustomTableRef. |
2157 | /// </summary> | 2181 | /// </summary> |
2158 | CustomTableRef, | 2182 | CustomTableRef, |
2183 | |||
2184 | /// <summary> | ||
2185 | /// The RegistryKey element's Action attribute is obsolete. | ||
2186 | /// </summary> | ||
2187 | RegistryKeyActionObsolete, | ||
2159 | } | 2188 | } |
2160 | } | 2189 | } |
2161 | } | 2190 | } |