From 0844d6506420decaed9957e6de77cba02bd579e4 Mon Sep 17 00:00:00 2001 From: Nir Bar Date: Sun, 23 Apr 2023 07:55:21 +0300 Subject: Fix build failure when bundle has multiple RemoteBundle elements --- .../WixBundleHarvestedDependencyProviderSymbol.cs | 2 +- .../MultipleBundlePackagesWithRemoteBundle.wixproj | 17 +++++++++++++++++ .../MultipleBundlePackagesWithRemoteBundle.wxs | 20 ++++++++++++++++++++ .../WixToolsetTest.BurnE2E/BundlePackageTests.cs | 10 ++++++++++ src/wix/WixToolset.Core/Compiler_Bundle.cs | 2 +- 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wixproj create mode 100644 src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wxs diff --git a/src/api/wix/WixToolset.Data/Symbols/WixBundleHarvestedDependencyProviderSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixBundleHarvestedDependencyProviderSymbol.cs index 71d77c94..7eb85275 100644 --- a/src/api/wix/WixToolset.Data/Symbols/WixBundleHarvestedDependencyProviderSymbol.cs +++ b/src/api/wix/WixToolset.Data/Symbols/WixBundleHarvestedDependencyProviderSymbol.cs @@ -17,7 +17,7 @@ namespace WixToolset.Data new IntermediateFieldDefinition(nameof(WixBundleHarvestedDependencyProviderSymbolFields.DisplayName), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(WixBundleHarvestedDependencyProviderSymbolFields.ProviderAttributes), IntermediateFieldType.Number), }, - typeof(WixDependencyProviderSymbol)); + typeof(WixBundleHarvestedDependencyProviderSymbol)); } } diff --git a/src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wixproj b/src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wixproj new file mode 100644 index 00000000..0a6ef51e --- /dev/null +++ b/src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wixproj @@ -0,0 +1,17 @@ + + + + Bundle + {AB842E3A-8212-4D74-B407-C252D9E269F9} + + + + + + + + + + + + diff --git a/src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wxs b/src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wxs new file mode 100644 index 00000000..a0f42ee9 --- /dev/null +++ b/src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wxs @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs index b3ef9430..228c95c6 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs @@ -13,6 +13,16 @@ namespace WixToolsetTest.BurnE2E { public BundlePackageTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } + [RuntimeFact] + public void CanBuildBundlePackagesWithRemoteBundles() + { + var multipleBundlePackagesWithRemoteBundle = this.CreateBundleInstaller("MultipleBundlePackagesWithRemoteBundle"); + + multipleBundlePackagesWithRemoteBundle.Install(); + // Bundle only contains permanent packages, so it isn't registered + multipleBundlePackagesWithRemoteBundle.VerifyUnregisteredAndRemovedFromPackageCache(); + } + [RuntimeFact] public void CanInstallAndUninstallBundlePackages() { diff --git a/src/wix/WixToolset.Core/Compiler_Bundle.cs b/src/wix/WixToolset.Core/Compiler_Bundle.cs index 1976117c..89826cf6 100644 --- a/src/wix/WixToolset.Core/Compiler_Bundle.cs +++ b/src/wix/WixToolset.Core/Compiler_Bundle.cs @@ -2855,7 +2855,7 @@ namespace WixToolset.Core Action = RelatedBundleActionType.Upgrade, }); - var depId = new Identifier(AccessModifier.Section, this.Core.CreateIdentifier("dep", packagePayloadId, providerKey)); + var depId = this.Core.CreateIdentifier("dep", packagePayloadId, providerKey); this.Core.AddSymbol(new WixBundleHarvestedDependencyProviderSymbol(sourceLineNumbers, depId) { PackagePayloadRef = packagePayloadId, -- cgit v1.2.3-55-g6feb