diff options
author | Rob Mensching <rob@firegiant.com> | 2021-05-07 01:04:20 -0700 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2021-05-11 12:30:12 -0700 |
commit | 5da97c750ef36518970eb0d3b02655b2eac75a35 (patch) | |
tree | f0bda215ec07234630c4590e0792d760ccb47093 | |
parent | df016066100df955d5ff98811e113fb2b1bd4b8a (diff) | |
download | wix-5da97c750ef36518970eb0d3b02655b2eac75a35.tar.gz wix-5da97c750ef36518970eb0d3b02655b2eac75a35.tar.bz2 wix-5da97c750ef36518970eb0d3b02655b2eac75a35.zip |
Assign download URL to files outside the MSI
Fixes wixtoolset/issues#6436
3 files changed, 6 insertions, 4 deletions
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs b/src/wix/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs index 99e2eda5..18c1ddf8 100644 --- a/src/wix/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs +++ b/src/wix/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs | |||
@@ -394,6 +394,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
394 | UnresolvedSourceFile = cabinetName, | 394 | UnresolvedSourceFile = cabinetName, |
395 | ContainerRef = packagePayload.ContainerRef, | 395 | ContainerRef = packagePayload.ContainerRef, |
396 | ContentFile = true, | 396 | ContentFile = true, |
397 | DownloadUrl = packagePayload.DownloadUrl, | ||
397 | Packaging = packagePayload.Packaging, | 398 | Packaging = packagePayload.Packaging, |
398 | ParentPackagePayloadRef = packagePayload.Id.Id, | 399 | ParentPackagePayloadRef = packagePayload.Id.Id, |
399 | }); | 400 | }); |
@@ -462,6 +463,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
462 | UnresolvedSourceFile = name, | 463 | UnresolvedSourceFile = name, |
463 | ContainerRef = packagePayload.ContainerRef, | 464 | ContainerRef = packagePayload.ContainerRef, |
464 | ContentFile = true, | 465 | ContentFile = true, |
466 | DownloadUrl = packagePayload.DownloadUrl, | ||
465 | Packaging = packagePayload.Packaging, | 467 | Packaging = packagePayload.Packaging, |
466 | ParentPackagePayloadRef = packagePayload.Id.Id, | 468 | ParentPackagePayloadRef = packagePayload.Id.Id, |
467 | }); | 469 | }); |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs index dd381dfe..1de38f33 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs | |||
@@ -15,7 +15,7 @@ namespace WixToolsetTest.CoreIntegration | |||
15 | 15 | ||
16 | public class ContainerFixture | 16 | public class ContainerFixture |
17 | { | 17 | { |
18 | [Fact(Skip = "Test demonstrates failure")] | 18 | [Fact] |
19 | public void CanBuildWithCustomAttachedContainer() | 19 | public void CanBuildWithCustomAttachedContainer() |
20 | { | 20 | { |
21 | var folder = TestData.Get(@"TestData"); | 21 | var folder = TestData.Get(@"TestData"); |
@@ -54,7 +54,7 @@ namespace WixToolsetTest.CoreIntegration | |||
54 | var ignoreAttributes = new Dictionary<string, List<string>> { { "Payload", new List<string> { "FileSize", "Hash" } } }; | 54 | var ignoreAttributes = new Dictionary<string, List<string>> { { "Payload", new List<string> { "FileSize", "Hash" } } }; |
55 | Assert.Equal(@"<Payload Id='FirstX64' FilePath='FirstX64\FirstX64.msi' FileSize='*' Hash='*' DownloadUrl='http://example.com//FirstX64/FirstX64/FirstX64.msi' Packaging='embedded' SourcePath='a0' Container='BundlePackages' />", payloads[0].GetTestXml(ignoreAttributes)); | 55 | Assert.Equal(@"<Payload Id='FirstX64' FilePath='FirstX64\FirstX64.msi' FileSize='*' Hash='*' DownloadUrl='http://example.com//FirstX64/FirstX64/FirstX64.msi' Packaging='embedded' SourcePath='a0' Container='BundlePackages' />", payloads[0].GetTestXml(ignoreAttributes)); |
56 | Assert.Equal(@"<Payload Id='FirstX86.msi' FilePath='FirstX86\FirstX86.msi' FileSize='*' Hash='*' DownloadUrl='http://example.com//FirstX86.msi/FirstX86/FirstX86.msi' Packaging='embedded' SourcePath='a1' Container='BundlePackages' />", payloads[1].GetTestXml(ignoreAttributes)); | 56 | Assert.Equal(@"<Payload Id='FirstX86.msi' FilePath='FirstX86\FirstX86.msi' FileSize='*' Hash='*' DownloadUrl='http://example.com//FirstX86.msi/FirstX86/FirstX86.msi' Packaging='embedded' SourcePath='a1' Container='BundlePackages' />", payloads[1].GetTestXml(ignoreAttributes)); |
57 | Assert.Equal(@"<Payload Id='fk1m38Cf9RZ2Bx_ipinRY6BftelU' FilePath='FirstX86\PFiles\MsiPackage\test.txt' FileSize='*' Hash='*' DownloadUrl='http://example.com/FirstX86/fk1m38Cf9RZ2Bx_ipinRY6BftelU/FirstX86/PFiles/MsiPackage/test.txt' Packaging='embedded' SourcePath='a2' Container='BundlePackages' />", payloads[2].GetTestXml(ignoreAttributes)); | 57 | Assert.Equal(@"<Payload Id='fk1m38Cf9RZ2Bx_ipinRY6BftelU' FilePath='FirstX86\PFiles\MsiPackage\test.txt' FileSize='*' Hash='*' DownloadUrl='http://example.com/FirstX86.msi/fk1m38Cf9RZ2Bx_ipinRY6BftelU/FirstX86/PFiles/MsiPackage/test.txt' Packaging='embedded' SourcePath='a2' Container='BundlePackages' />", payloads[2].GetTestXml(ignoreAttributes)); |
58 | Assert.Equal(@"<Payload Id='ff2L_N_DLQ.nSUi.l8LxG14gd2V4' FilePath='FirstX64\PFiles\MsiPackage\test.txt' FileSize='*' Hash='*' DownloadUrl='http://example.com/FirstX64/ff2L_N_DLQ.nSUi.l8LxG14gd2V4/FirstX64/PFiles/MsiPackage/test.txt' Packaging='embedded' SourcePath='a3' Container='BundlePackages' />", payloads[3].GetTestXml(ignoreAttributes)); | 58 | Assert.Equal(@"<Payload Id='ff2L_N_DLQ.nSUi.l8LxG14gd2V4' FilePath='FirstX64\PFiles\MsiPackage\test.txt' FileSize='*' Hash='*' DownloadUrl='http://example.com/FirstX64/ff2L_N_DLQ.nSUi.l8LxG14gd2V4/FirstX64/PFiles/MsiPackage/test.txt' Packaging='embedded' SourcePath='a3' Container='BundlePackages' />", payloads[3].GetTestXml(ignoreAttributes)); |
59 | } | 59 | } |
60 | } | 60 | } |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs index 23f6a9ba..cb35976a 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs | |||
@@ -194,8 +194,8 @@ namespace WixToolsetTest.CoreIntegration | |||
194 | "<Payload Id='burn.exe' FilePath='burn.exe' FileSize='*' Hash='*' Packaging='embedded' SourcePath='a0' Container='PackagesContainer' />", | 194 | "<Payload Id='burn.exe' FilePath='burn.exe' FileSize='*' Hash='*' Packaging='embedded' SourcePath='a0' Container='PackagesContainer' />", |
195 | "<Payload Id='test.msi' FilePath='test.msi' FileSize='*' Hash='*' DownloadUrl='http://example.com/id/test.msi/test.msi' Packaging='external' SourcePath='test.msi' />", | 195 | "<Payload Id='test.msi' FilePath='test.msi' FileSize='*' Hash='*' DownloadUrl='http://example.com/id/test.msi/test.msi' Packaging='external' SourcePath='test.msi' />", |
196 | "<Payload Id='LayoutOnlyPayload' FilePath='DownloadUrlPlaceholdersBundle.wxs' FileSize='*' Hash='*' LayoutOnly='yes' DownloadUrl='http://example.com/id/LayoutOnlyPayload/DownloadUrlPlaceholdersBundle.wxs' Packaging='external' SourcePath='DownloadUrlPlaceholdersBundle.wxs' />", | 196 | "<Payload Id='LayoutOnlyPayload' FilePath='DownloadUrlPlaceholdersBundle.wxs' FileSize='*' Hash='*' LayoutOnly='yes' DownloadUrl='http://example.com/id/LayoutOnlyPayload/DownloadUrlPlaceholdersBundle.wxs' Packaging='external' SourcePath='DownloadUrlPlaceholdersBundle.wxs' />", |
197 | @"<Payload Id='fhuZsOcBDTuIX8rF96kswqI6SnuI' FilePath='MsiPackage\test.txt' FileSize='*' Hash='*' Packaging='external' SourcePath='MsiPackage\test.txt' />", | 197 | @"<Payload Id='fhuZsOcBDTuIX8rF96kswqI6SnuI' FilePath='MsiPackage\test.txt' FileSize='*' Hash='*' DownloadUrl='http://example.com/test.msiid/fhuZsOcBDTuIX8rF96kswqI6SnuI/MsiPackage/test.txt' Packaging='external' SourcePath='MsiPackage\test.txt' />", |
198 | @"<Payload Id='faf_OZ741BG7SJ6ZkcIvivZ2Yzo8' FilePath='MsiPackage\Shared.dll' FileSize='*' Hash='*' Packaging='external' SourcePath='MsiPackage\Shared.dll' />", | 198 | @"<Payload Id='faf_OZ741BG7SJ6ZkcIvivZ2Yzo8' FilePath='MsiPackage\Shared.dll' FileSize='*' Hash='*' DownloadUrl='http://example.com/test.msiid/faf_OZ741BG7SJ6ZkcIvivZ2Yzo8/MsiPackage/Shared.dll' Packaging='external' SourcePath='MsiPackage\Shared.dll' />", |
199 | }, payloads); | 199 | }, payloads); |
200 | 200 | ||
201 | var containers = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Container") | 201 | var containers = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Container") |