aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2023-04-04 01:21:30 -0700
committerRob Mensching <rob@firegiant.com>2023-04-04 10:03:45 -0700
commit124ca82017417b21e0dafea0c47d11a363f4fcb3 (patch)
tree121cb2b66b555c1afc841589fa29dce1b032f5b0 /src
parent4442f9473ac50ae8337ea053e4810ddcb128cbf2 (diff)
downloadwix-124ca82017417b21e0dafea0c47d11a363f4fcb3.tar.gz
wix-124ca82017417b21e0dafea0c47d11a363f4fcb3.tar.bz2
wix-124ca82017417b21e0dafea0c47d11a363f4fcb3.zip
Add link to FAQ for conversion errors
Allows us to provide additional detail about a conversion failure that does not fit well as command-line output.
Diffstat (limited to 'src')
-rw-r--r--src/wix/WixToolset.Converters/WixConverter.cs24
-rw-r--r--src/wix/test/WixToolsetTest.Converters/DirectoryFixture.cs6
-rw-r--r--src/wix/test/WixToolsetTest.Converters/PrereqPackageFixture.cs4
-rw-r--r--src/wix/test/WixToolsetTest.Converters/PropertyFixture.cs2
4 files changed, 18 insertions, 18 deletions
diff --git a/src/wix/WixToolset.Converters/WixConverter.cs b/src/wix/WixToolset.Converters/WixConverter.cs
index 84748d70..4e591f8a 100644
--- a/src/wix/WixToolset.Converters/WixConverter.cs
+++ b/src/wix/WixToolset.Converters/WixConverter.cs
@@ -737,7 +737,7 @@ namespace WixToolset.Converters
737 } 737 }
738 else 738 else
739 { 739 {
740 this.OnError(ConverterTestType.BootstrapperApplicationDllRequired, element, "The new BootstrapperApplicationDll element is required but could not be added automatically since the bootstrapper application dll was not directly specified."); 740 this.OnError(ConverterTestType.BootstrapperApplicationDllRequired, element, "The new BootstrapperApplicationDll element is required but could not be added automatically since the bootstrapper application dll was not directly specified. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles");
741 } 741 }
742 } 742 }
743 743
@@ -920,7 +920,7 @@ namespace WixToolset.Converters
920 && CustomActionIdsWithPlatformSuffix.TryGetValue(actionId, out var replacementId)) 920 && CustomActionIdsWithPlatformSuffix.TryGetValue(actionId, out var replacementId))
921 { 921 {
922 this.OnError(ConverterTestType.CustomActionIdsIncludePlatformSuffix, element, 922 this.OnError(ConverterTestType.CustomActionIdsIncludePlatformSuffix, element,
923 $"Custom action ids have changed in WiX v4 extensions to support platform-specific custom actions. The platform is applied as a suffix: _X86, _X64, _A64 (Arm64). When manually rescheduling custom action '{actionId}', you must use the new custom action id '{replacementId}'."); 923 $"Custom action ids have changed in WiX v4 extensions to support platform-specific custom actions. The platform is applied as a suffix: _X86, _X64, _A64 (Arm64). When manually rescheduling custom action '{actionId}', you must use the new custom action id '{replacementId}'. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages");
924 } 924 }
925 } 925 }
926 926
@@ -959,7 +959,7 @@ namespace WixToolset.Converters
959 } 959 }
960 break; 960 break;
961 default: 961 default:
962 this.OnError(ConverterTestType.CustomTableNotAlwaysConvertable, element, "The CustomTable element contains deprecated '{0}' attribute so can't be converted. Use the 'Unreal' attribute for MSI. Use the 'BundleCustomData' element for Bundles. Use the --custom-table argument to force conversion to 'msi' or 'bundle'", bootstrapperApplicationData.Name); 962 this.OnError(ConverterTestType.CustomTableNotAlwaysConvertable, element, "The CustomTable element contains deprecated '{0}' attribute so can't be converted. Use the 'Unreal' attribute for MSI. Use the 'BundleCustomData' element for Bundles. Use the --custom-table argument to force conversion to 'msi' or 'bundle'. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles", bootstrapperApplicationData.Name);
963 break; 963 break;
964 } 964 }
965 } 965 }
@@ -983,7 +983,7 @@ namespace WixToolset.Converters
983 } 983 }
984 break; 984 break;
985 default: 985 default:
986 this.OnError(ConverterTestType.CustomTableNotAlwaysConvertable, element, "The CustomTable element contains no 'Column' elements so can't be converted. Use the 'CustomTableRef' element for MSI. Use the 'BundleCustomDataRef' element for Bundles. Use the --custom-table argument to force conversion to 'msi' or 'bundle'"); 986 this.OnError(ConverterTestType.CustomTableNotAlwaysConvertable, element, "The CustomTable element contains no 'Column' elements so can't be converted. Use the 'CustomTableRef' element for MSI. Use the 'BundleCustomDataRef' element for Bundles. Use the --custom-table argument to force conversion to 'msi' or 'bundle'. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles");
987 break; 987 break;
988 } 988 }
989 } 989 }
@@ -1139,7 +1139,7 @@ namespace WixToolset.Converters
1139 { 1139 {
1140 if (!element.HasElements) 1140 if (!element.HasElements)
1141 { 1141 {
1142 this.OnError(ConverterTestType.EmptyStandardDirectoryRefNotConvertable, element, "Referencing '{0}' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory.", id); 1142 this.OnError(ConverterTestType.EmptyStandardDirectoryRefNotConvertable, element, "Referencing '{0}' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages", id);
1143 } 1143 }
1144 else if (id == "TARGETDIR") 1144 else if (id == "TARGETDIR")
1145 { 1145 {
@@ -1919,7 +1919,7 @@ namespace WixToolset.Converters
1919 1919
1920 if (null != element.Attribute("DisplayInternalUI")) 1920 if (null != element.Attribute("DisplayInternalUI"))
1921 { 1921 {
1922 this.OnError(ConverterTestType.DisplayInternalUiNotConvertable, element, "The DisplayInternalUI functionality has fundamentally changed and requires BootstrapperApplication support."); 1922 this.OnError(ConverterTestType.DisplayInternalUiNotConvertable, element, "The DisplayInternalUI functionality has fundamentally changed and requires BootstrapperApplication support. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles");
1923 } 1923 }
1924 } 1924 }
1925 1925
@@ -1927,7 +1927,7 @@ namespace WixToolset.Converters
1927 { 1927 {
1928 if (null != element.Attribute("Target")) 1928 if (null != element.Attribute("Target"))
1929 { 1929 {
1930 this.OnError(ConverterTestType.VerbTargetNotConvertable, element, "The Verb/@Target attribute has been replaced with typed @TargetFile and @TargetProperty attributes."); 1930 this.OnError(ConverterTestType.VerbTargetNotConvertable, element, "The Verb/@Target attribute has been replaced with typed @TargetFile and @TargetProperty attributes. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages");
1931 } 1931 }
1932 } 1932 }
1933 1933
@@ -2085,7 +2085,7 @@ namespace WixToolset.Converters
2085 var result = element.Attribute("Result")?.Value; 2085 var result = element.Attribute("Result")?.Value;
2086 if (result == null || result == "value") 2086 if (result == null || result == "value")
2087 { 2087 {
2088 this.OnError(ConverterTestType.UtilRegistryValueSearchBehaviorChange, element, "Breaking change: util:RegistrySearch for a value no longer clears the variable when the key or value is missing."); 2088 this.OnError(ConverterTestType.UtilRegistryValueSearchBehaviorChange, element, "Breaking change: util:RegistrySearch for a value no longer clears the variable when the key or value is missing. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles");
2089 } 2089 }
2090 } 2090 }
2091 } 2091 }
@@ -2155,7 +2155,7 @@ namespace WixToolset.Converters
2155 { 2155 {
2156 if (!String.IsNullOrWhiteSpace(text)) 2156 if (!String.IsNullOrWhiteSpace(text))
2157 { 2157 {
2158 this.OnError(ConverterTestType.InnerTextDeprecated, attribute, "Using {0} element text is deprecated. Remove the element's text and use only the '{1}' attribute.", element.Name.LocalName, attributeName); 2158 this.OnError(ConverterTestType.InnerTextDeprecated, attribute, "Using {0} element text is deprecated. Remove the element's text and use only the '{1}' attribute. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages", element.Name.LocalName, attributeName);
2159 } 2159 }
2160 } 2160 }
2161 else if (this.OnInformation(ConverterTestType.InnerTextDeprecated, element, "Using {0} element text is deprecated. Use the '{1}' attribute instead.", element.Name.LocalName, attributeName)) 2161 else if (this.OnInformation(ConverterTestType.InnerTextDeprecated, element, "Using {0} element text is deprecated. Use the '{1}' attribute instead.", element.Name.LocalName, attributeName))
@@ -2226,7 +2226,7 @@ namespace WixToolset.Converters
2226 case "no": 2226 case "no":
2227 return "always32"; 2227 return "always32";
2228 default: 2228 default:
2229 this.OnError(ConverterTestType.Win64AttributeRenameCannotBeAutomatic, xWin64Attribute, "Breaking change: The Win64 attribute's value '{0}' cannot be converted automatically to the new Bitness attribute.", value); 2229 this.OnError(ConverterTestType.Win64AttributeRenameCannotBeAutomatic, xWin64Attribute, "Breaking change: The Win64 attribute's value '{0}' cannot be converted automatically to the new Bitness attribute. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages", value);
2230 return value; 2230 return value;
2231 } 2231 }
2232 } 2232 }
@@ -2406,12 +2406,12 @@ namespace WixToolset.Converters
2406 2406
2407 foreach (var element in this.State.WixMbaPrereqPackageIdElements) 2407 foreach (var element in this.State.WixMbaPrereqPackageIdElements)
2408 { 2408 {
2409 this.OnError(ConverterTestType.WixMbaPrereqPackageIdDeprecated, element, "The magic WixVariable 'WixMbaPrereqPackageId' has been removed. Add bal:PrereqPackage=\"yes\" to the target package instead."); 2409 this.OnError(ConverterTestType.WixMbaPrereqPackageIdDeprecated, element, "The magic WixVariable 'WixMbaPrereqPackageId' has been removed. Add bal:PrereqPackage=\"yes\" to the target package instead. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles");
2410 } 2410 }
2411 2411
2412 foreach (var element in this.State.WixMbaPrereqLicenseUrlElements) 2412 foreach (var element in this.State.WixMbaPrereqLicenseUrlElements)
2413 { 2413 {
2414 this.OnError(ConverterTestType.WixMbaPrereqLicenseUrlDeprecated, element, "The magic WixVariable 'WixMbaPrereqLicenseUrl' has been removed. Add bal:PrereqLicenseUrl=\"<url>\" to a prereq package instead."); 2414 this.OnError(ConverterTestType.WixMbaPrereqLicenseUrlDeprecated, element, "The magic WixVariable 'WixMbaPrereqLicenseUrl' has been removed. Add bal:PrereqLicenseUrl=\"<url>\" to a prereq package instead. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles");
2415 } 2415 }
2416 } 2416 }
2417 2417
diff --git a/src/wix/test/WixToolsetTest.Converters/DirectoryFixture.cs b/src/wix/test/WixToolsetTest.Converters/DirectoryFixture.cs
index f4cb3b6d..2eda033a 100644
--- a/src/wix/test/WixToolsetTest.Converters/DirectoryFixture.cs
+++ b/src/wix/test/WixToolsetTest.Converters/DirectoryFixture.cs
@@ -320,9 +320,9 @@ namespace WixToolsetTest.Converters
320 WixAssert.CompareLineByLine(new[] 320 WixAssert.CompareLineByLine(new[]
321 { 321 {
322 "[Converted] The namespace 'http://schemas.microsoft.com/wix/2006/wi' is out of date. It must be 'http://wixtoolset.org/schemas/v4/wxs'. (XmlnsValueWrong)", 322 "[Converted] The namespace 'http://schemas.microsoft.com/wix/2006/wi' is out of date. It must be 'http://wixtoolset.org/schemas/v4/wxs'. (XmlnsValueWrong)",
323 "Referencing 'TARGETDIR' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory. (EmptyStandardDirectoryRefNotConvertable)", 323 "Referencing 'TARGETDIR' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages (EmptyStandardDirectoryRefNotConvertable)",
324 "Referencing 'ProgramFilesFolder' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory. (EmptyStandardDirectoryRefNotConvertable)", 324 "Referencing 'ProgramFilesFolder' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages (EmptyStandardDirectoryRefNotConvertable)",
325 "Referencing 'DesktopFolder' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory. (EmptyStandardDirectoryRefNotConvertable)" 325 "Referencing 'DesktopFolder' directory directly is no longer supported. The DirectoryRef will not be removed but you will probably need to reference a more specific directory. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages (EmptyStandardDirectoryRefNotConvertable)"
326 }, messaging.Messages.Select(m => m.ToString()).ToArray()); 326 }, messaging.Messages.Select(m => m.ToString()).ToArray());
327 327
328 var actualLines = UnformattedDocumentLines(document); 328 var actualLines = UnformattedDocumentLines(document);
diff --git a/src/wix/test/WixToolsetTest.Converters/PrereqPackageFixture.cs b/src/wix/test/WixToolsetTest.Converters/PrereqPackageFixture.cs
index 5d637f65..a2ce16f9 100644
--- a/src/wix/test/WixToolsetTest.Converters/PrereqPackageFixture.cs
+++ b/src/wix/test/WixToolsetTest.Converters/PrereqPackageFixture.cs
@@ -86,8 +86,8 @@ namespace WixToolsetTest.Converters
86 var actualLines = UnformattedDocumentLines(document); 86 var actualLines = UnformattedDocumentLines(document);
87 WixAssert.CompareLineByLine(new[] 87 WixAssert.CompareLineByLine(new[]
88 { 88 {
89 "The magic WixVariable 'WixMbaPrereqPackageId' has been removed. Add bal:PrereqPackage=\"yes\" to the target package instead. (WixMbaPrereqPackageIdDeprecated)", 89 "The magic WixVariable 'WixMbaPrereqPackageId' has been removed. Add bal:PrereqPackage=\"yes\" to the target package instead. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles (WixMbaPrereqPackageIdDeprecated)",
90 "The magic WixVariable 'WixMbaPrereqLicenseUrl' has been removed. Add bal:PrereqLicenseUrl=\"<url>\" to a prereq package instead. (WixMbaPrereqLicenseUrlDeprecated)", 90 "The magic WixVariable 'WixMbaPrereqLicenseUrl' has been removed. Add bal:PrereqLicenseUrl=\"<url>\" to a prereq package instead. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-bundles (WixMbaPrereqLicenseUrlDeprecated)",
91 }, messaging.Messages.Select(m => m.ToString()).ToArray()); 91 }, messaging.Messages.Select(m => m.ToString()).ToArray());
92 WixAssert.CompareLineByLine(expected, actualLines); 92 WixAssert.CompareLineByLine(expected, actualLines);
93 } 93 }
diff --git a/src/wix/test/WixToolsetTest.Converters/PropertyFixture.cs b/src/wix/test/WixToolsetTest.Converters/PropertyFixture.cs
index 088ead5b..a2c8b323 100644
--- a/src/wix/test/WixToolsetTest.Converters/PropertyFixture.cs
+++ b/src/wix/test/WixToolsetTest.Converters/PropertyFixture.cs
@@ -211,7 +211,7 @@ namespace WixToolsetTest.Converters
211 WixAssert.CompareLineByLine(expected, actual); 211 WixAssert.CompareLineByLine(expected, actual);
212 WixAssert.CompareLineByLine(new[] 212 WixAssert.CompareLineByLine(new[]
213 { 213 {
214 "Using Property element text is deprecated. Remove the element's text and use only the 'Value' attribute. (InnerTextDeprecated)" 214 "Using Property element text is deprecated. Remove the element's text and use only the 'Value' attribute. See the conversion FAQ for more information: https://wixtoolset.org/docs/fourthree/faqs/#converting-packages (InnerTextDeprecated)"
215 }, messaging.Messages.Select(m => m.ToString()).ToArray()); 215 }, messaging.Messages.Select(m => m.ToString()).ToArray());
216 Assert.Equal(1, errors); 216 Assert.Equal(1, errors);
217 } 217 }