@joebigelow / wix / commits / 9ebc0949

Add error message when tuple can't be found.

Bob Arnson committed Jun 10, 2020 at 21:38 UTC 9ebc094931aa473136c56c095a1170948f481f2e
3 files changed +13 -2
src/WixToolset.Data/ErrorMessages.cs
+6
@@ -2279,6 +2279,11 @@ namespace WixToolset.Data
2279 return Message(null, Ids.IntermediatesMustBeResolved, "Intermediates being bound must have been resolved. This intermediate was not resolved: {0}", invalidIntermediate);
2280 }
2281
2282 + public static Message UnknownSymbolType(string symbolName)
2283 + {
2284 + return Message(null, Ids.UnknownSymbolType, "Could not deserialize symbol of type type '{0}' because it is not a standard symbol type or one provided by a loaded extension.", symbolName);
2285 + }
2286 +
2287 private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args)
2288 {
2289 return new Message(sourceLineNumber, MessageLevel.Error, (int)id, format, args);
@@ -2680,6 +2685,7 @@ namespace WixToolset.Data
2685 IntermediatesMustBeResolved = 396,
2686 MissingBundleSearch = 397,
2687 CircularSearchReference = 398,
2688 + UnknownSymbolType = 399,
2689 }
2690 }
2691 }
src/WixToolset.Data/IntermediateTuple.cs
+6 -1
@@ -165,7 +165,12 @@ namespace WixToolset.Data
165 var id = (idJson == null) ? null : Identifier.Deserialize(idJson);
166 var sourceLineNumbers = (sourceLineNumbersJson == null) ? null : SourceLineNumber.Deserialize(sourceLineNumbersJson);
167
168 - creator.TryGetTupleDefinitionByName(definitionName, out var definition); // TODO: this isn't sufficient.
168 + // TODO: this isn't sufficient.
169 + if (!creator.TryGetTupleDefinitionByName(definitionName, out var definition))
170 + {
171 + throw new WixException(ErrorMessages.UnknownSymbolType(definitionName));
172 + }
173 +
174 var tuple = definition.CreateTuple(sourceLineNumbers, id);
175
176 for (var i = 0; i < fieldsJson.Count && i < tuple.Fields.Length; ++i)
src/WixToolset.Data/WarningMessages.cs
+1 -1
@@ -504,7 +504,7 @@ namespace WixToolset.Data
504
505 public static Message RequiresMsi500forArmPackage(SourceLineNumber sourceLineNumbers)
506 {
507 - return Message(sourceLineNumbers, Ids.RequiresMsi500forArmPackage, "Package/@InstallerVersion must be 500 or greater for an Arm package. The value will be changed to 500. Please specify a value of 500 or greater in order to eliminate this warning.");
507 + return Message(sourceLineNumbers, Ids.RequiresMsi500forArmPackage, "Package/@InstallerVersion must be 500 or greater for an ARM or ARM64 package. The value will be changed to 500. Please specify a value of 500 or greater in order to eliminate this warning.");
508 }
509
510 public static Message ReservedAttribute(SourceLineNumber sourceLineNumbers, string elementName, string attributeName)