Assign download URL to files outside the MSI
Fixes wixtoolset/issues#6436
Rob Mensching committed
May 7, 2021 at 01:04 UTC
5da97c750ef36518970eb0d3b02655b2eac75a35
3 files changed
+6
-4
src/wix/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs
+2
@@ -394,6 +394,7 @@ namespace WixToolset.Core.Burn.Bundles
394
UnresolvedSourceFile = cabinetName,
395
ContainerRef = packagePayload.ContainerRef,
396
ContentFile = true,
397
+ DownloadUrl = packagePayload.DownloadUrl,
398
Packaging = packagePayload.Packaging,
399
ParentPackagePayloadRef = packagePayload.Id.Id,
400
});
@@ -462,6 +463,7 @@ namespace WixToolset.Core.Burn.Bundles
463
UnresolvedSourceFile = name,
464
ContainerRef = packagePayload.ContainerRef,
465
ContentFile = true,
466
+ DownloadUrl = packagePayload.DownloadUrl,
467
Packaging = packagePayload.Packaging,
468
ParentPackagePayloadRef = packagePayload.Id.Id,
469
});
src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs
+2
-2
@@ -15,7 +15,7 @@ namespace WixToolsetTest.CoreIntegration
15
16
public class ContainerFixture
17
{
18
- [Fact(Skip = "Test demonstrates failure")]
18
+ [Fact]
19
public void CanBuildWithCustomAttachedContainer()
20
{
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" } } };
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));
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));
59
}
60
}
src/wix/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs
+2
-2
@@ -194,8 +194,8 @@ namespace WixToolsetTest.CoreIntegration
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' />",
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' />",
198
- @"<Payload Id='faf_OZ741BG7SJ6ZkcIvivZ2Yzo8' FilePath='MsiPackage\Shared.dll' FileSize='*' Hash='*' Packaging='external' SourcePath='MsiPackage\Shared.dll' />",
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='*' DownloadUrl='http://example.com/test.msiid/faf_OZ741BG7SJ6ZkcIvivZ2Yzo8/MsiPackage/Shared.dll' Packaging='external' SourcePath='MsiPackage\Shared.dll' />",
199
}, payloads);
200
201
var containers = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Container")