From 12db1999ea040ea0b1a51b1dfb5c5f92fc8087c4 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Wed, 10 Feb 2021 16:12:33 -0600 Subject: SlipstreamMsp belongs under the MsiPackage, not the MspPackage. --- .../WixToolsetTest.CoreIntegration/PatchFixture.cs | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs') diff --git a/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs b/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs index f1d0ea58..dda4ca28 100644 --- a/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs @@ -83,6 +83,33 @@ namespace WixToolsetTest.CoreIntegration } } + [Fact] + public void CanBuildBundleWithSlipstreamPatch() + { + var folder = TestData.Get(@"TestData\PatchSingle"); + + using (var fs = new DisposableFileSystem()) + { + var tempFolder = fs.GetFolder(); + + var baselinePdb = BuildMsi("Baseline.msi", folder, tempFolder, "1.0.0", "1.0.0", "1.0.0"); + var update1Pdb = BuildMsi("Update.msi", folder, tempFolder, "1.0.1", "1.0.1", "1.0.1"); + var patchPdb = BuildMsp("Patch1.msp", folder, tempFolder, "1.0.1"); + var bundleAPdb = BuildBundle("BundleA.exe", Path.Combine(folder, "BundleA"), tempFolder); + + using (var wixOutput = WixOutput.Read(bundleAPdb)) + { + var manifestData = wixOutput.GetData(BurnConstants.BurnManifestWixOutputStreamName); + var doc = new XmlDocument(); + doc.LoadXml(manifestData); + var nsmgr = BundleExtractor.GetBurnNamespaceManager(doc, "w"); + var slipstreamMspNodes = doc.SelectNodes("/w:BurnManifest/w:Chain/w:MsiPackage/w:SlipstreamMsp", nsmgr); + Assert.Equal(1, slipstreamMspNodes.Count); + Assert.Equal("", slipstreamMspNodes[0].GetTestXml()); + } + } + } + private static void VerifyPatchTargetCodes(string pdbPath, string[] expected) { using (var wixOutput = WixOutput.Read(pdbPath)) -- cgit v1.2.3-55-g6feb