From 66b668b4c5d37f572dfca86446f7dddc5dd3d85f Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Thu, 26 Mar 2020 19:26:01 +1000 Subject: Add support for bundle extension searches. Add MissingBundleSearch error message. Add BundleExtensionRef to WixSearchTuple. Add BundleExtensionSearchTupleDefinitionTag. --- src/WixToolset.Data/Burn/BurnConstants.cs | 1 + src/WixToolset.Data/ErrorMessages.cs | 6 ++++++ src/WixToolset.Data/Tuples/WixSearchTuple.cs | 8 ++++++++ 3 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/WixToolset.Data/Burn/BurnConstants.cs b/src/WixToolset.Data/Burn/BurnConstants.cs index 9803a73a..1a0db73e 100644 --- a/src/WixToolset.Data/Burn/BurnConstants.cs +++ b/src/WixToolset.Data/Burn/BurnConstants.cs @@ -9,6 +9,7 @@ namespace WixToolset.Data.Burn public const string BundleLayoutOnlyPayloadsName = "BundleLayoutOnlyPayloads"; public const string BootstrapperApplicationDataTupleDefinitionTag = "WixBootstrapperApplicationData"; + public const string BundleExtensionSearchTupleDefinitionTag = "WixBundleExtensionSearch"; // The following constants must stay in sync with src\burn\engine\core.h public const string BURN_BUNDLE_NAME = "WixBundleName"; diff --git a/src/WixToolset.Data/ErrorMessages.cs b/src/WixToolset.Data/ErrorMessages.cs index 23d32b4f..4d972903 100644 --- a/src/WixToolset.Data/ErrorMessages.cs +++ b/src/WixToolset.Data/ErrorMessages.cs @@ -1469,6 +1469,11 @@ namespace WixToolset.Data return Message(null, Ids.MissingBundleInformation, "The Bundle is missing '{0}' data, and cannot continue.", data); } + public static Message MissingBundleSearch(SourceLineNumber sourceLineNumbers, string searchId) + { + return Message(sourceLineNumbers, Ids.MissingBundleSearch, "Bundle Search with id '{0}' has no corresponding implementation tuple.", searchId); + } + public static Message MissingDependencyVersion(string packageId) { return Message(null, Ids.MissingDependencyVersion, "The provider dependency version was not authored for the package with Id '{0}'. Please author the Provides/@Version attribute for this package.", packageId); @@ -2658,6 +2663,7 @@ namespace WixToolset.Data CouldNotDetermineProductCodeFromTransformSummaryInfo = 394, IntermediatesMustBeCompiled = 395, IntermediatesMustBeResolved = 396, + MissingBundleSearch = 397, } } } diff --git a/src/WixToolset.Data/Tuples/WixSearchTuple.cs b/src/WixToolset.Data/Tuples/WixSearchTuple.cs index fd1ae5bf..6f58f62e 100644 --- a/src/WixToolset.Data/Tuples/WixSearchTuple.cs +++ b/src/WixToolset.Data/Tuples/WixSearchTuple.cs @@ -12,6 +12,7 @@ namespace WixToolset.Data { new IntermediateFieldDefinition(nameof(WixSearchTupleFields.Variable), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(WixSearchTupleFields.Condition), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixSearchTupleFields.BundleExtensionRef), IntermediateFieldType.String), }, typeof(WixSearchTuple)); } @@ -23,6 +24,7 @@ namespace WixToolset.Data.Tuples { Variable, Condition, + BundleExtensionRef, } public class WixSearchTuple : IntermediateTuple @@ -48,5 +50,11 @@ namespace WixToolset.Data.Tuples get => (string)this.Fields[(int)WixSearchTupleFields.Condition]; set => this.Set((int)WixSearchTupleFields.Condition, value); } + + public string BundleExtensionRef + { + get => (string)this.Fields[(int)WixSearchTupleFields.BundleExtensionRef]; + set => this.Set((int)WixSearchTupleFields.BundleExtensionRef, value); + } } } \ No newline at end of file -- cgit v1.2.3-55-g6feb