aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/wix/WixToolset.Data/ErrorMessages.cs8
-rw-r--r--src/api/wix/WixToolset.Data/WarningMessages.cs12
-rw-r--r--src/api/wix/WixToolset.Extensibility/Services/IBackendHelper.cs18
3 files changed, 26 insertions, 12 deletions
diff --git a/src/api/wix/WixToolset.Data/ErrorMessages.cs b/src/api/wix/WixToolset.Data/ErrorMessages.cs
index 186acd29..d3d2932d 100644
--- a/src/api/wix/WixToolset.Data/ErrorMessages.cs
+++ b/src/api/wix/WixToolset.Data/ErrorMessages.cs
@@ -1076,7 +1076,7 @@ namespace WixToolset.Data
1076 1076
1077 public static Message IllegalVersionValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value) 1077 public static Message IllegalVersionValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value)
1078 { 1078 {
1079 return Message(sourceLineNumbers, Ids.IllegalVersionValue, "The {0}/@{1} attribute's value, '{2}', is not a valid version. Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534.", elementName, attributeName, value); 1079 return Message(sourceLineNumbers, Ids.IllegalVersionValue, "The {0}/@{1} attribute's value, '{2}', is not a valid version. Specify a four-part version or semantic version, such as '#.#.#.#' or '#.#.#-label.#'.", elementName, attributeName, value);
1080 } 1080 }
1081 1081
1082 public static Message IllegalWarningIdAsError(string warningId) 1082 public static Message IllegalWarningIdAsError(string warningId)
@@ -1279,9 +1279,9 @@ namespace WixToolset.Data
1279 return Message(sourceLineNumbers, Ids.InvalidMergeLanguage, "The Merge element '{0}' specified an invalid language '{1}'. Verify that localization tokens are being properly resolved to a numeric LCID.", mergeId, mergeLanguage); 1279 return Message(sourceLineNumbers, Ids.InvalidMergeLanguage, "The Merge element '{0}' specified an invalid language '{1}'. Verify that localization tokens are being properly resolved to a numeric LCID.", mergeId, mergeLanguage);
1280 } 1280 }
1281 1281
1282 public static Message InvalidModuleOrBundleVersion(SourceLineNumber sourceLineNumbers, string moduleOrBundle, string version) 1282 public static Message InvalidFourPartVersion(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string version)
1283 { 1283 {
1284 return Message(sourceLineNumbers, Ids.InvalidModuleOrBundleVersion, "Invalid {0}/@Version '{1}'. {0} version has a max value of \"65535.65535.65535.65535\" and must be all numeric.", moduleOrBundle, version); 1284 return Message(sourceLineNumbers, Ids.InvalidFourPartVersion, "Invalid {0}/@Version '{1}'. {0} version has a max value of \"65535.65535.65535.65535\" and must be all numeric.", elementName, version);
1285 } 1285 }
1286 1286
1287 public static Message InvalidPlatformValue(SourceLineNumber sourceLineNumbers, string value) 1287 public static Message InvalidPlatformValue(SourceLineNumber sourceLineNumbers, string value)
@@ -2678,7 +2678,7 @@ namespace WixToolset.Data
2678 SplitCabinetNameCollision = 377, 2678 SplitCabinetNameCollision = 377,
2679 SplitCabinetInsertionFailed = 378, 2679 SplitCabinetInsertionFailed = 378,
2680 InvalidPreprocessorFunctionAutoVersion = 379, 2680 InvalidPreprocessorFunctionAutoVersion = 379,
2681 InvalidModuleOrBundleVersion = 380, 2681 InvalidFourPartVersion = 380,
2682 UnsupportedPlatformForElement = 381, 2682 UnsupportedPlatformForElement = 381,
2683 MissingMedia = 382, 2683 MissingMedia = 382,
2684 IllegalYesNoAlwaysValue = 384, 2684 IllegalYesNoAlwaysValue = 384,
diff --git a/src/api/wix/WixToolset.Data/WarningMessages.cs b/src/api/wix/WixToolset.Data/WarningMessages.cs
index ecd76392..5a5d1e79 100644
--- a/src/api/wix/WixToolset.Data/WarningMessages.cs
+++ b/src/api/wix/WixToolset.Data/WarningMessages.cs
@@ -367,9 +367,9 @@ namespace WixToolset.Data
367 return Message(sourceLineNumbers, Ids.InvalidHigherInstallerVersionInModule, "Merge module '{0}' has an installer version of {1} which is greater than the product's installer version of {2}. Merging a module with a higher installer version than the product it is being merged into can result in invalid values in the resulting msi. You must set the Package/@InstallerVersion attribute to {1} or greater to merge this merge module into your product.", moduleId, moduleInstallerVersion, productInstallerVersion); 367 return Message(sourceLineNumbers, Ids.InvalidHigherInstallerVersionInModule, "Merge module '{0}' has an installer version of {1} which is greater than the product's installer version of {2}. Merging a module with a higher installer version than the product it is being merged into can result in invalid values in the resulting msi. You must set the Package/@InstallerVersion attribute to {1} or greater to merge this merge module into your product.", moduleId, moduleInstallerVersion, productInstallerVersion);
368 } 368 }
369 369
370 public static Message InvalidModuleOrBundleVersion(SourceLineNumber sourceLineNumbers, string moduleOrBundle, string version) 370 public static Message InvalidFourPartVersion(SourceLineNumber sourceLineNumbers, string elementName, string version)
371 { 371 {
372 return Message(sourceLineNumbers, Ids.InvalidModuleOrBundleVersion, "Invalid {0}/@Version '{1}'. {0} version has a max value of \"65535.65535.65535.65535\" and must be all numeric.", moduleOrBundle, version); 372 return Message(sourceLineNumbers, Ids.InvalidFourPartVersion, "Invalid {0}/@Version '{1}'. {0} version has a max value of \"65535.65535.65535.65535\" and must be all numeric.", elementName, version);
373 } 373 }
374 374
375 public static Message InvalidRemoveFile(SourceLineNumber sourceLineNumbers, string file, string component) 375 public static Message InvalidRemoveFile(SourceLineNumber sourceLineNumbers, string file, string component)
@@ -663,9 +663,9 @@ namespace WixToolset.Data
663 return Message(sourceLineNumbers, Ids.VariableDeclarationCollision, "The variable '{0}' with value '{1}' was previously declared with value '{2}'.", variableName, variableValue, variableCollidingValue); 663 return Message(sourceLineNumbers, Ids.VariableDeclarationCollision, "The variable '{0}' with value '{1}' was previously declared with value '{2}'.", variableName, variableValue, variableCollidingValue);
664 } 664 }
665 665
666 public static Message VersionTruncated(SourceLineNumber sourceLineNumbers, string originalVersion, string package, string truncatedVersion) 666 public static Message InvalidMsiProductVersion(SourceLineNumber sourceLineNumbers, string version, string package)
667 { 667 {
668 return Message(sourceLineNumbers, Ids.VersionTruncated, "Product version {0} in package '{1}' is not valid per the MSI SDK and cannot be represented in a bundle. It has been truncated to {2}.", originalVersion, package, truncatedVersion); 668 return Message(sourceLineNumbers, Ids.InvalidMsiProductVersion, "Invalid product version '{0}' in MSI package '{1}'. Product version should have a major version less than 256, a minor version less than 256, and a build version less than 65536. The bundle may incorrectly detect upgrades of this package.", version, package);
669 } 669 }
670 670
671 public static Message CollidingModularizationTypes(string tableName, string columnName, string foreignTableName, int foreignColumnNumber, string modularizationType, string foreignModularizationType) 671 public static Message CollidingModularizationTypes(string tableName, string columnName, string foreignTableName, int foreignColumnNumber, string modularizationType, string foreignModularizationType)
@@ -764,7 +764,7 @@ namespace WixToolset.Data
764 DeprecatedPackageCompressedAttribute = 1087, 764 DeprecatedPackageCompressedAttribute = 1087,
765 DeprecatedQuestionMarksGuid = 1090, 765 DeprecatedQuestionMarksGuid = 1090,
766 PackageCodeSet = 1091, 766 PackageCodeSet = 1091,
767 InvalidModuleOrBundleVersion = 1093, 767 InvalidFourPartVersion = 1093,
768 InvalidRemoveFile = 1095, 768 InvalidRemoveFile = 1095,
769 PreprocessorWarning = 1096, 769 PreprocessorWarning = 1096,
770 UpdateOfNonKeyPathFile = 1097, 770 UpdateOfNonKeyPathFile = 1097,
@@ -816,7 +816,7 @@ namespace WixToolset.Data
816 AllChangesIncludedInPatch = 1145, 816 AllChangesIncludedInPatch = 1145,
817 RelatedAttributeConditionallyIgnored = 1146, 817 RelatedAttributeConditionallyIgnored = 1146,
818 BackslashTerminateInlineDirectorySyntax = 1147, 818 BackslashTerminateInlineDirectorySyntax = 1147,
819 VersionTruncated = 1148, 819 InvalidMsiProductVersion = 1148,
820 ServiceConfigFamilyNotSupported = 1149, 820 ServiceConfigFamilyNotSupported = 1149,
821 SymbolNotTranslatedToOutput = 1150, 821 SymbolNotTranslatedToOutput = 1150,
822 MsiTransactionLimitations = 1151, 822 MsiTransactionLimitations = 1151,
diff --git a/src/api/wix/WixToolset.Extensibility/Services/IBackendHelper.cs b/src/api/wix/WixToolset.Extensibility/Services/IBackendHelper.cs
index 23ad44f5..1c92303e 100644
--- a/src/api/wix/WixToolset.Extensibility/Services/IBackendHelper.cs
+++ b/src/api/wix/WixToolset.Extensibility/Services/IBackendHelper.cs
@@ -104,13 +104,27 @@ namespace WixToolset.Extensibility.Services
104 bool IsValidBinderVariable(string variable); 104 bool IsValidBinderVariable(string variable);
105 105
106 /// <summary> 106 /// <summary>
107 /// Verifies the given string is a valid 4-part version module or bundle version. 107 /// Verifies the given string is a valid 4-part version.
108 /// </summary> 108 /// </summary>
109 /// <param name="version">The version to verify.</param> 109 /// <param name="version">The version to verify.</param>
110 /// <returns>True if version is a valid module or bundle version.</returns> 110 /// <returns>True if version is a valid 4-part version.</returns>
111 bool IsValidFourPartVersion(string version); 111 bool IsValidFourPartVersion(string version);
112 112
113 /// <summary> 113 /// <summary>
114 /// Verifies the given string is a valid MSI product version.
115 /// </summary>
116 /// <param name="version">The MSI product version to verify.</param>
117 /// <returns>True if version is a valid MSI product version</returns>
118 bool IsValidMsiProductVersion(string version);
119
120 /// <summary>
121 /// Verifies the given string is a valid WiX version.
122 /// </summary>
123 /// <param name="version">The version to verify.</param>
124 /// <returns>True if version is a valid WiX version.</returns>
125 bool IsValidWixVersion(string version);
126
127 /// <summary>
114 /// Determines if value is a valid identifier. 128 /// Determines if value is a valid identifier.
115 /// </summary> 129 /// </summary>
116 /// <param name="id">Identifier to validate.</param> 130 /// <param name="id">Identifier to validate.</param>