diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2021-02-10 16:12:33 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2021-02-10 16:21:31 -0600 |
| commit | 12db1999ea040ea0b1a51b1dfb5c5f92fc8087c4 (patch) | |
| tree | 40c7b6b7b88618f22ef903ace0a845b2b34e404d /src/test/WixToolsetTest.CoreIntegration | |
| parent | 3588e1453240ca59ead8b5f8e63cdb8989bf8f84 (diff) | |
| download | wix-12db1999ea040ea0b1a51b1dfb5c5f92fc8087c4.tar.gz wix-12db1999ea040ea0b1a51b1dfb5c5f92fc8087c4.tar.bz2 wix-12db1999ea040ea0b1a51b1dfb5c5f92fc8087c4.zip | |
SlipstreamMsp belongs under the MsiPackage, not the MspPackage.
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration')
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs | 27 | ||||
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/BundleA/Bundle.wxs | 10 |
2 files changed, 37 insertions, 0 deletions
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 | |||
| 83 | } | 83 | } |
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | [Fact] | ||
| 87 | public void CanBuildBundleWithSlipstreamPatch() | ||
| 88 | { | ||
| 89 | var folder = TestData.Get(@"TestData\PatchSingle"); | ||
| 90 | |||
| 91 | using (var fs = new DisposableFileSystem()) | ||
| 92 | { | ||
| 93 | var tempFolder = fs.GetFolder(); | ||
| 94 | |||
| 95 | var baselinePdb = BuildMsi("Baseline.msi", folder, tempFolder, "1.0.0", "1.0.0", "1.0.0"); | ||
| 96 | var update1Pdb = BuildMsi("Update.msi", folder, tempFolder, "1.0.1", "1.0.1", "1.0.1"); | ||
| 97 | var patchPdb = BuildMsp("Patch1.msp", folder, tempFolder, "1.0.1"); | ||
| 98 | var bundleAPdb = BuildBundle("BundleA.exe", Path.Combine(folder, "BundleA"), tempFolder); | ||
| 99 | |||
| 100 | using (var wixOutput = WixOutput.Read(bundleAPdb)) | ||
| 101 | { | ||
| 102 | var manifestData = wixOutput.GetData(BurnConstants.BurnManifestWixOutputStreamName); | ||
| 103 | var doc = new XmlDocument(); | ||
| 104 | doc.LoadXml(manifestData); | ||
| 105 | var nsmgr = BundleExtractor.GetBurnNamespaceManager(doc, "w"); | ||
| 106 | var slipstreamMspNodes = doc.SelectNodes("/w:BurnManifest/w:Chain/w:MsiPackage/w:SlipstreamMsp", nsmgr); | ||
| 107 | Assert.Equal(1, slipstreamMspNodes.Count); | ||
| 108 | Assert.Equal("<SlipstreamMsp Id='PatchA' />", slipstreamMspNodes[0].GetTestXml()); | ||
| 109 | } | ||
| 110 | } | ||
| 111 | } | ||
| 112 | |||
| 86 | private static void VerifyPatchTargetCodes(string pdbPath, string[] expected) | 113 | private static void VerifyPatchTargetCodes(string pdbPath, string[] expected) |
| 87 | { | 114 | { |
| 88 | using (var wixOutput = WixOutput.Read(pdbPath)) | 115 | using (var wixOutput = WixOutput.Read(pdbPath)) |
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/BundleA/Bundle.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/BundleA/Bundle.wxs new file mode 100644 index 00000000..bc460636 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/BundleA/Bundle.wxs | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 2 | <Fragment> | ||
| 3 | <PackageGroup Id="BundlePackages"> | ||
| 4 | <MsiPackage Id="PackageA" SourceFile="Baseline.msi"> | ||
| 5 | <SlipstreamMsp Id="PatchA" /> | ||
| 6 | </MsiPackage> | ||
| 7 | <MspPackage Id="PatchA" SourceFile="Patch1.msp" /> | ||
| 8 | </PackageGroup> | ||
| 9 | </Fragment> | ||
| 10 | </Wix> | ||
