aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNir Bar <nir.bar@panel-sw.co.il>2023-04-23 07:55:21 +0300
committerRob Mensching <rob@firegiant.com>2023-06-03 01:24:39 -0700
commit0844d6506420decaed9957e6de77cba02bd579e4 (patch)
treea5a063b0e721f5289782a09615d6cff9ce88a181
parent9b78fdffb9c651d5f03cffdde8b0ae6c77598d63 (diff)
downloadwix-0844d6506420decaed9957e6de77cba02bd579e4.tar.gz
wix-0844d6506420decaed9957e6de77cba02bd579e4.tar.bz2
wix-0844d6506420decaed9957e6de77cba02bd579e4.zip
Fix build failure when bundle has multiple RemoteBundle elements
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/WixBundleHarvestedDependencyProviderSymbol.cs2
-rw-r--r--src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wixproj17
-rw-r--r--src/test/burn/TestData/BundlePackageTests/MultipleBundlePackagesWithRemoteBundle/MultipleBundlePackagesWithRemoteBundle.wxs20
-rw-r--r--src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs10
-rw-r--r--src/wix/WixToolset.Core/Compiler_Bundle.cs2
5 files changed, 49 insertions, 2 deletions
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
17 new IntermediateFieldDefinition(nameof(WixBundleHarvestedDependencyProviderSymbolFields.DisplayName), IntermediateFieldType.String), 17 new IntermediateFieldDefinition(nameof(WixBundleHarvestedDependencyProviderSymbolFields.DisplayName), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixBundleHarvestedDependencyProviderSymbolFields.ProviderAttributes), IntermediateFieldType.Number), 18 new IntermediateFieldDefinition(nameof(WixBundleHarvestedDependencyProviderSymbolFields.ProviderAttributes), IntermediateFieldType.Number),
19 }, 19 },
20 typeof(WixDependencyProviderSymbol)); 20 typeof(WixBundleHarvestedDependencyProviderSymbol));
21 } 21 }
22} 22}
23 23
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 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<Project Sdk="WixToolset.Sdk">
3 <PropertyGroup>
4 <OutputType>Bundle</OutputType>
5 <UpgradeCode>{AB842E3A-8212-4D74-B407-C252D9E269F9}</UpgradeCode>
6 </PropertyGroup>
7 <ItemGroup>
8 <Compile Include="..\..\Templates\Bundle.wxs" Link="Bundle.wxs" />
9 </ItemGroup>
10 <ItemGroup>
11 <ProjectReference Include="..\..\TestBA\TestBAWixlib\testbawixlib.wixproj" />
12 </ItemGroup>
13 <ItemGroup>
14 <PackageReference Include="WixToolset.Bal.wixext" />
15 <PackageReference Include="WixToolset.NetFx.wixext" />
16 </ItemGroup>
17</Project>
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 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2
3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <Fragment>
6 <PackageGroup Id="BundlePackages">
7 <BundlePackage Id="ASP.Net_Core_6.0" Permanent="yes">
8 <BundlePackagePayload Id="ASP.Net_Core_6.0" Name="aspnetcore-runtime-6.0.10-win-x64.exe" ProductName="Microsoft ASP.NET Core 6.0.10 - Shared Framework (x64)" Description="Microsoft ASP.NET Core 6.0.10 - Shared Framework (x64)" DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/2370bcad-45b1-4ccb-bc61-21ffd7116d63/1aa8efcabfb60ee778b913a5eb237a56/aspnetcore-runtime-6.0.10-win-x64.exe" Hash="4AF8DA7DE85BCB1D079A85CD3F4AAFDFC4E4D441B87DFCDFFC27C820D9F69513341BE5ACC987C47CACDC597CBC0CC89C7D746050E6D40AE02DB7391E8214352D" Size="8997144" Version="6.0.10.22476">
9 <RemoteBundle BundleId="{5D69246A-5874-401D-9879-ECC18D5A1BAB}" DisplayName="Microsoft ASP.NET Core 6.0.10 - Shared Framework (x64)" InstallSize="22958021" ManifestNamespace="http://schemas.microsoft.com/wix/2008/Burn" PerMachine="yes" ProviderKey="{5d69246a-5874-401d-9879-ecc18d5a1bab}" ProtocolVersion="1" Version="6.0.10.22476" Win64="no" UpgradeCode="{B7C4CC53-CE40-39E9-9F43-81CE9F5CD47C}" />
10 </BundlePackagePayload>
11 </BundlePackage>
12
13 <BundlePackage Id="Dotnet_Runtime_6.0" Permanent="yes">
14 <BundlePackagePayload Id="Dotnet_Runtime_6.0" Name="dotnet-runtime-6.0.10-win-x64.exe" ProductName="Microsoft .NET Runtime - 6.0.10 (x64)" Description="Microsoft .NET Runtime - 6.0.10 (x64)" DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/50336bc7-7fd1-4a12-b5a2-81ce0219edf9/8d862413975808de0d835888e41e49a7/dotnet-runtime-6.0.10-win-x64.exe" Hash="23E4C862AFEF34A2C0D6476A93274CE0158D28F1609E0404737663E4BE17263E61E5A8760382FB125D288A0965394E3D04B9E1C77F99DE80A2C590DD295B8732" Size="27912752" Version="6.0.10.31726">
15 <RemoteBundle BundleId="{9A89127E-80A4-45FB-AD62-58F72634274A}" DisplayName="Microsoft .NET Runtime - 6.0.10 (x64)" InstallSize="71462036" ManifestNamespace="http://schemas.microsoft.com/wix/2008/Burn" PerMachine="yes" ProviderKey="{9a89127e-80a4-45fb-ad62-58f72634274a}" ProtocolVersion="1" Version="6.0.10.31726" Win64="no" UpgradeCode="{B19A028F-5C89-7AF4-5102-0F8ED67CCACA}" />
16 </BundlePackagePayload>
17 </BundlePackage>
18 </PackageGroup>
19 </Fragment>
20</Wix>
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
@@ -14,6 +14,16 @@ namespace WixToolsetTest.BurnE2E
14 public BundlePackageTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } 14 public BundlePackageTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { }
15 15
16 [RuntimeFact] 16 [RuntimeFact]
17 public void CanBuildBundlePackagesWithRemoteBundles()
18 {
19 var multipleBundlePackagesWithRemoteBundle = this.CreateBundleInstaller("MultipleBundlePackagesWithRemoteBundle");
20
21 multipleBundlePackagesWithRemoteBundle.Install();
22 // Bundle only contains permanent packages, so it isn't registered
23 multipleBundlePackagesWithRemoteBundle.VerifyUnregisteredAndRemovedFromPackageCache();
24 }
25
26 [RuntimeFact]
17 public void CanInstallAndUninstallBundlePackages() 27 public void CanInstallAndUninstallBundlePackages()
18 { 28 {
19 var packageA = this.CreatePackageInstaller(@"..\BasicFunctionalityTests\PackageA"); 29 var packageA = this.CreatePackageInstaller(@"..\BasicFunctionalityTests\PackageA");
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
2855 Action = RelatedBundleActionType.Upgrade, 2855 Action = RelatedBundleActionType.Upgrade,
2856 }); 2856 });
2857 2857
2858 var depId = new Identifier(AccessModifier.Section, this.Core.CreateIdentifier("dep", packagePayloadId, providerKey)); 2858 var depId = this.Core.CreateIdentifier("dep", packagePayloadId, providerKey);
2859 this.Core.AddSymbol(new WixBundleHarvestedDependencyProviderSymbol(sourceLineNumbers, depId) 2859 this.Core.AddSymbol(new WixBundleHarvestedDependencyProviderSymbol(sourceLineNumbers, depId)
2860 { 2860 {
2861 PackagePayloadRef = packagePayloadId, 2861 PackagePayloadRef = packagePayloadId,