diff options
author | Nir Bar <nir.bar@panel-sw.co.il> | 2023-04-23 07:55:21 +0300 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2023-06-03 01:24:39 -0700 |
commit | 0844d6506420decaed9957e6de77cba02bd579e4 (patch) | |
tree | a5a063b0e721f5289782a09615d6cff9ce88a181 | |
parent | 9b78fdffb9c651d5f03cffdde8b0ae6c77598d63 (diff) | |
download | wix-0844d6506420decaed9957e6de77cba02bd579e4.tar.gz wix-0844d6506420decaed9957e6de77cba02bd579e4.tar.bz2 wix-0844d6506420decaed9957e6de77cba02bd579e4.zip |
Fix build failure when bundle has multiple RemoteBundle elements
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, |