diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-05-13 15:39:40 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-05-14 11:12:31 -0500 |
| commit | d5985a1688bc878e42ffd3ce3939fa52303cab16 (patch) | |
| tree | 0c283fe5454659c569317b37840a040474cfa032 /src/ext/Bal/test/WixToolsetTest.Bal | |
| parent | 6a6974a15deb6edf593736cdb8043bfb93064782 (diff) | |
| download | wix-d5985a1688bc878e42ffd3ce3939fa52303cab16.tar.gz wix-d5985a1688bc878e42ffd3ce3939fa52303cab16.tar.bz2 wix-d5985a1688bc878e42ffd3ce3939fa52303cab16.zip | |
Add option to hosts to always install prereqs.
Add PrereqPackage to BundlePackage
Implements 4718
Diffstat (limited to 'src/ext/Bal/test/WixToolsetTest.Bal')
| -rw-r--r-- | src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs | 38 | ||||
| -rw-r--r-- | src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs | 12 |
2 files changed, 48 insertions, 2 deletions
diff --git a/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs b/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs index 9aea8c1d..43484855 100644 --- a/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs +++ b/src/ext/Bal/test/WixToolsetTest.Bal/BalExtensionFixture.cs | |||
| @@ -107,7 +107,41 @@ namespace WixToolsetTest.Bal | |||
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | [Fact] | 109 | [Fact] |
| 110 | public void CantBuildUsingMBAWithNoPrereqs() | 110 | public void CanBuildUsingMBAWithAlwaysInstallPrereqs() |
| 111 | { | ||
| 112 | using (var fs = new DisposableFileSystem()) | ||
| 113 | { | ||
| 114 | var baseFolder = fs.GetFolder(); | ||
| 115 | var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); | ||
| 116 | var bundleSourceFolder = TestData.Get(@"TestData\MBA"); | ||
| 117 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 118 | var baFolderPath = Path.Combine(baseFolder, "ba"); | ||
| 119 | var extractFolderPath = Path.Combine(baseFolder, "extract"); | ||
| 120 | |||
| 121 | var compileResult = WixRunner.Execute(new[] | ||
| 122 | { | ||
| 123 | "build", | ||
| 124 | Path.Combine(bundleSourceFolder, "AlwaysInstallPrereqsBundle.wxs"), | ||
| 125 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
| 126 | "-intermediateFolder", intermediateFolder, | ||
| 127 | "-o", bundleFile, | ||
| 128 | }); | ||
| 129 | |||
| 130 | compileResult.AssertSuccess(); | ||
| 131 | |||
| 132 | Assert.True(File.Exists(bundleFile)); | ||
| 133 | |||
| 134 | var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); | ||
| 135 | extractResult.AssertSuccess(); | ||
| 136 | |||
| 137 | var wixMbaPrereqOptionsElements = extractResult.SelectBADataNodes("/ba:BootstrapperApplicationData/ba:WixMbaPrereqOptions"); | ||
| 138 | var wixMbaPrereqOptions = (XmlNode)Assert.Single(wixMbaPrereqOptionsElements); | ||
| 139 | Assert.Equal("<WixMbaPrereqOptions AlwaysInstallPrereqs='1' />", wixMbaPrereqOptions.GetTestXml()); | ||
| 140 | } | ||
| 141 | } | ||
| 142 | |||
| 143 | [Fact] | ||
| 144 | public void CannotBuildUsingMBAWithNoPrereqs() | ||
| 111 | { | 145 | { |
| 112 | using (var fs = new DisposableFileSystem()) | 146 | using (var fs = new DisposableFileSystem()) |
| 113 | { | 147 | { |
| @@ -133,7 +167,7 @@ namespace WixToolsetTest.Bal | |||
| 133 | } | 167 | } |
| 134 | 168 | ||
| 135 | [Fact] | 169 | [Fact] |
| 136 | public void CantBuildUsingOverridableWrongCase() | 170 | public void CannotBuildUsingOverridableWrongCase() |
| 137 | { | 171 | { |
| 138 | using (var fs = new DisposableFileSystem()) | 172 | using (var fs = new DisposableFileSystem()) |
| 139 | { | 173 | { |
diff --git a/src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs b/src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs new file mode 100644 index 00000000..685fef7b --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.Bal/TestData/MBA/AlwaysInstallPrereqsBundle.wxs | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
| 3 | xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> | ||
| 4 | <Bundle Name="AlwaysInstallPrereqsBundle" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="{36E9E102-E0E4-4A91-941D-6681A49216E6}"> | ||
| 5 | <BootstrapperApplication> | ||
| 6 | <bal:WixManagedBootstrapperApplicationHost AlwaysInstallPrereqs="yes" /> | ||
| 7 | </BootstrapperApplication> | ||
| 8 | <Chain> | ||
| 9 | <ExePackage bal:PrereqPackage="yes" Permanent="yes" DetectCondition="none" SourceFile="runtimes\win-x86\native\wixnative.exe" /> | ||
| 10 | </Chain> | ||
| 11 | </Bundle> | ||
| 12 | </Wix> | ||
