From 3d2d46f62fc01e2653d0251ad9703090574e7c41 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 6 Mar 2024 14:48:10 -0800 Subject: Better .nupkg names --- .../BalExtensionFixture.cs | 262 +++++++++++ .../InternalUIBAFixture.cs | 519 +++++++++++++++++++++ .../TestData/.Data/fake.exe | 1 + .../TestData/Dncba/Bundle.wxs | 13 + .../TestData/MBA/AlwaysInstallPrereqsBundle.wxs | 12 + .../TestData/MBA/Bundle.wxs | 12 + .../TestData/Overridable/Bundle.wxs | 13 + .../TestData/Overridable/WrongCaseBundle.wxl | 4 + .../TestData/Overridable/WrongCaseBundle.wxs | 16 + .../TestData/WixIuiBa/AllPrereqPackages.wxs | 13 + .../WixIuiBa/ImplicitNonMsiPrimaryPackage.wxs | 13 + .../TestData/WixIuiBa/ImplicitPrimaryPackage.wxs | 13 + ...mplicitPrimaryPackageEnableFeatureSelection.wxs | 13 + .../TestData/WixIuiBa/IuibaWarnings.wxs | 13 + .../WixIuiBa/MultipleDefaultPrimaryPackages.wxs | 13 + .../MultipleNonPermanentNonPrimaryPackages.wxs | 13 + .../TestData/WixIuiBa/NoDefaultPrimaryPackage.wxs | 13 + .../TestData/WixIuiBa/NonMsiPrimaryPackage.wxs | 13 + .../WixIuiBa/NonPermanentPrereqPackage.wxs | 13 + .../TestData/WixIuiBa/PermanentPrimaryPackage.wxs | 13 + .../PrimaryPackageEnableFeatureSelection.wxs | 13 + .../TestData/WixIuiBa/PrimaryPrereqPackage.wxs | 13 + .../TestData/WixIuiBa/SinglePrimaryPackage.wxs | 13 + .../TestData/WixIuiBa/UrlPrereqPackage.wxs | 19 + .../TestData/WixStdBa/Bundle.wxs | 12 + .../TestData/WixStdBa/Data/test.msi | Bin 0 -> 32768 bytes .../WixStdBa/DisplayInternalUIConditionBundle.wxs | 12 + .../WixToolsetTest.BootstrapperApplications.csproj | 25 + ...Test.BootstrapperApplications.v3.ncrunchproject | 5 + 29 files changed, 1107 insertions(+) create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/InternalUIBAFixture.cs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/.Data/fake.exe create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Dncba/Bundle.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/AlwaysInstallPrereqsBundle.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/Bundle.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/Bundle.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxl create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/AllPrereqPackages.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitNonMsiPrimaryPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackageEnableFeatureSelection.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/IuibaWarnings.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleDefaultPrimaryPackages.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleNonPermanentNonPrimaryPackages.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NoDefaultPrimaryPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonMsiPrimaryPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonPermanentPrereqPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PermanentPrimaryPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPackageEnableFeatureSelection.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPrereqPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/SinglePrimaryPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/UrlPrereqPackage.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Bundle.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Data/test.msi create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.csproj create mode 100644 src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.v3.ncrunchproject (limited to 'src/ext/Bal/test/WixToolsetTest.BootstrapperApplications') diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs new file mode 100644 index 00000000..a9460008 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs @@ -0,0 +1,262 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +namespace WixToolsetTest.BootstrapperApplications +{ + using System; + using System.IO; + using System.Linq; + using System.Xml; + using WixToolset.BootstrapperApplications; + using WixInternal.Core.TestPackage; + using WixInternal.TestSupport; + using Xunit; + + public class BalExtensionFixture + { + [Fact] + public void CanBuildUsingDisplayInternalUICondition() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixStdBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "DisplayInternalUIConditionBundle.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", Path.Combine(bundleSourceFolder, "data"), + "-o", bundleFile, + }); + compileResult.AssertSuccess(); + + Assert.True(File.Exists(bundleFile)); + + var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); + extractResult.AssertSuccess(); + + var balPackageInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixBalPackageInfo"); + WixAssert.CompareLineByLine(new string[] + { + "", + }, balPackageInfos); + + Assert.True(File.Exists(Path.Combine(baFolderPath, "thm.wxl"))); + } + } + + [Fact] + public void CanBuildUsingOverridable() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\Overridable"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "Bundle.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-o", bundleFile, + }); + compileResult.AssertSuccess(); + + Assert.True(File.Exists(bundleFile)); + + var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); + extractResult.AssertSuccess(); + + var balCommandLines = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixStdbaCommandLine"); + WixAssert.CompareLineByLine(new[] + { + "", + }, balCommandLines); + + var balOverridableVariables = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixStdbaOverridableVariable"); + WixAssert.CompareLineByLine(new[] + { + "", + }, balOverridableVariables); + } + } + + [Fact] + public void CanBuildUsingWixStdBa() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixStdBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "Bundle.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-o", bundleFile, + }); + compileResult.AssertSuccess(); + + Assert.True(File.Exists(bundleFile)); + } + } + + //[Fact] + //public void CanBuildUsingMBAWithAlwaysInstallPrereqs() + //{ + // using (var fs = new DisposableFileSystem()) + // { + // var baseFolder = fs.GetFolder(); + // var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + // var bundleSourceFolder = TestData.Get("TestData", "MBA"); + // var intermediateFolder = Path.Combine(baseFolder, "obj"); + // var baFolderPath = Path.Combine(baseFolder, "ba"); + // var extractFolderPath = Path.Combine(baseFolder, "extract"); + + // var compileResult = WixRunner.Execute(new[] + // { + // "build", + // Path.Combine(bundleSourceFolder, "AlwaysInstallPrereqsBundle.wxs"), + // "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + // "-intermediateFolder", intermediateFolder, + // "-o", bundleFile, + // }); + + // compileResult.AssertSuccess(); + + // Assert.True(File.Exists(bundleFile)); + + // var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); + // extractResult.AssertSuccess(); + + // var wixPrereqOptionsElements = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixPrereqOptions"); + // WixAssert.CompareLineByLine(new[] + // { + // "", + // }, wixPrereqOptionsElements); + + // var wixPrereqInformationElements = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixPrereqInformation"); + // WixAssert.CompareLineByLine(new[] + // { + // "", + // }, wixPrereqInformationElements); + // } + //} + + [Fact] + public void CannotBuildUsingMBAWithNoPrereqs() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData", "MBA"); + var dataFolder = TestData.Get(@"TestData", ".Data"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "Bundle.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", dataFolder, + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "The WixManagedBootstrapperApplicationHost element has been deprecated.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + Assert.Equal(1130, compileResult.ExitCode); + + Assert.False(File.Exists(bundleFile)); + Assert.False(File.Exists(Path.Combine(intermediateFolder, "test.exe"))); + } + } + + [Fact] + public void CannotBuildUsingDncbaMissingBAFactoryPayload() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\Dncba"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "Bundle.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "The WixDotNetCoreBootstrapperApplicationHost element has been deprecated.", + "The BootstrapperApplication element's Name or SourceFile attribute was not found; one of these is required." + }, compileResult.Messages.Select(x => x.ToString()).ToArray()); + Assert.Equal(44, compileResult.ExitCode); + + Assert.False(File.Exists(bundleFile)); + Assert.False(File.Exists(Path.Combine(intermediateFolder, "test.exe"))); + } + } + + [Fact] + public void CannotBuildUsingOverridableWrongCase() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "Overridable", "WrongCaseBundle.wxs"), + "-loc", Path.Combine(bundleSourceFolder, "Overridable", "WrongCaseBundle.wxl"), + "-bindpath", Path.Combine(bundleSourceFolder, "WixStdBa", "Data"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-o", bundleFile, + }); + + Assert.InRange(result.ExitCode, 2, Int32.MaxValue); + + var messages = result.Messages.Select(m => m.ToString()).ToList(); + messages.Sort(); + + WixAssert.CompareLineByLine(new[] + { + "bal:Condition/@Condition contains the built-in Variable 'WixBundleAction', which is not available when it is evaluated. (Unavailable Variables are: 'WixBundleAction'.). Rewrite the condition to avoid Variables that are never valid during its evaluation.", + "Overridable variable 'TEST1' collides with 'Test1' with Bundle/@CommandLineVariables value 'caseInsensitive'.", + "The *Package/@bal:DisplayInternalUICondition attribute's value '=' is not a valid bundle condition.", + "The location of the Variable related to the previous error.", + }, messages.ToArray()); + } + } + } +} diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/InternalUIBAFixture.cs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/InternalUIBAFixture.cs new file mode 100644 index 00000000..7e64c13f --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/InternalUIBAFixture.cs @@ -0,0 +1,519 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +namespace WixToolsetTest.BootstrapperApplications +{ + using System; + using System.IO; + using System.Linq; + using WixInternal.TestSupport; + using WixInternal.Core.TestPackage; + using Xunit; + + public class InternalUIBAFixture + { + [Fact] + public void CanBuildUsingWixIuiBa() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "SinglePrimaryPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + compileResult.AssertSuccess(); + + Assert.True(File.Exists(bundleFile)); + + var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); + extractResult.AssertSuccess(); + + var balPackageInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixBalPackageInfo"); + WixAssert.CompareLineByLine(new string[] + { + "", + }, balPackageInfos); + + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.thm"))); + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.wxl"))); + } + } + + [Fact] + public void CanBuildUsingWixIuiBaWithUrlPrereqPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "UrlPrereqPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + compileResult.AssertSuccess(); + + Assert.True(File.Exists(bundleFile)); + + var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); + extractResult.AssertSuccess(); + + var balPackageInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixBalPackageInfo"); + WixAssert.CompareLineByLine(new string[] + { + "", + }, balPackageInfos); + + var mbaPrereqInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixPrereqInformation"); + WixAssert.CompareLineByLine(new[] + { + "", + }, mbaPrereqInfos); + + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.thm"))); + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.wxl"))); + } + } + + [Fact] + public void CanBuildUsingWixIuiBaWithImplicitPrimaryPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "ImplicitPrimaryPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + compileResult.AssertSuccess(); + + Assert.True(File.Exists(bundleFile)); + + var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); + extractResult.AssertSuccess(); + + var balPackageInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixBalPackageInfo"); + WixAssert.CompareLineByLine(new string[] + { + "", + }, balPackageInfos); + + var mbaPrereqInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixPrereqInformation"); + WixAssert.CompareLineByLine(new[] + { + "", + }, mbaPrereqInfos); + + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.thm"))); + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.wxl"))); + } + } + + [Fact] + public void CanBuildUsingWixIuiBaWithWarnings() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var baFolderPath = Path.Combine(baseFolder, "ba"); + var extractFolderPath = Path.Combine(baseFolder, "extract"); + + var compileResult = WixRunner.Execute(warningsAsErrors: false, new[] + { + "build", + Path.Combine(bundleSourceFolder, "IuiBaWarnings.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "WixInternalUIBootstrapperApplication does not support the value of 'force' for Cache on prereq packages. Prereq packages are only cached when they need to be installed.", + "WixInternalUIBootstrapperApplication ignores InstallCondition for the primary package so that the MSI UI is always shown.", + "WixInternalUIBootstrapperApplication ignores DisplayInternalUICondition for the primary package so that the MSI UI is always shown.", + "When using WixInternalUIBootstrapperApplication, all prereq packages should be before the primary package in the chain. The prereq packages are always installed before the primary package.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + compileResult.AssertSuccess(); + + Assert.True(File.Exists(bundleFile)); + + var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath); + extractResult.AssertSuccess(); + + var balPackageInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixBalPackageInfo"); + WixAssert.CompareLineByLine(new string[] + { + "", + }, balPackageInfos); + + var mbaPrereqInfos = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixPrereqInformation"); + WixAssert.CompareLineByLine(new[] + { + "", + }, mbaPrereqInfos); + + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.thm"))); + Assert.True(File.Exists(Path.Combine(baFolderPath, "wixpreq.wxl"))); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithAllPrereqPackages() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "AllPrereqPackages.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, there must be one package with bal:PrimaryPackageType=\"default\".", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6808, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithImplicitNonMsiPrimaryPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "ImplicitNonMsiPrimaryPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, packages must either be non-permanent and have the bal:PrimaryPackageType attribute, or be permanent and have the bal:PrereqPackage attribute set to 'yes'.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6811, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithImplicitPrimaryPackageEnableFeatureSelection() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "ImplicitPrimaryPackageEnableFeatureSelection.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, packages must either be non-permanent and have the bal:PrimaryPackageType attribute, or be permanent and have the bal:PrereqPackage attribute set to 'yes'.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6811, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithMultipleNonPermanentNonPrimaryPackages() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "MultipleNonPermanentNonPrimaryPackages.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, packages must either be non-permanent and have the bal:PrimaryPackageType attribute, or be permanent and have the bal:PrereqPackage attribute set to 'yes'.", + "When using WixInternalUIBootstrapperApplication, packages must either be non-permanent and have the bal:PrimaryPackageType attribute, or be permanent and have the bal:PrereqPackage attribute set to 'yes'.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6811, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithMultiplePrimaryPackagesOfSameType() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "MultipleDefaultPrimaryPackages.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "There may only be one package in the bundle with PrimaryPackageType of 'default'.", + "The location of the package related to the previous error.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6810, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithNoDefaultPrimaryPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "NoDefaultPrimaryPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, there must be one package with bal:PrimaryPackageType=\"default\".", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6808, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithNonMsiPrimaryPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "NonMsiPrimaryPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, each primary package must be an MsiPackage.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6814, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithNonPermanentPrereqPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "NonPermanentPrereqPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication and bal:PrereqPackage is set to 'yes', the package must be permanent.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6812, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithPermanentPrimaryPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "PermanentPrimaryPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, packages with the bal:PrimaryPackageType attribute must not be permanent.", + "When using WixInternalUIBootstrapperApplication, there must be one package with bal:PrimaryPackageType=\"default\".", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6808, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithPrimaryPackageEnableFeatureSelection() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "PrimaryPackageEnableFeatureSelection.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-bindpath", TestData.Get(@"TestData\WixStdBa\Data"), + "-o", bundleFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "When using WixInternalUIBootstrapperApplication, primary packages must not have feature selection enabled because it interferes with the user selecting feature through the MSI UI.", + "When using WixInternalUIBootstrapperApplication, there must be one package with bal:PrimaryPackageType=\"default\".", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(6808, compileResult.ExitCode); + } + } + + [Fact] + public void CannotBuildUsingWixIuiBaWithPrimaryPrereqPackage() + { + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var wixlibFile = Path.Combine(baseFolder, "bin", "test.wixlib"); + var bundleSourceFolder = TestData.Get(@"TestData\WixIuiBa"); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var compileResult = WixRunner.Execute(new[] + { + "build", + Path.Combine(bundleSourceFolder, "PrimaryPrereqPackage.wxs"), + "-ext", TestData.Get(@"WixToolset.BootstrapperApplications.wixext.dll"), + "-intermediateFolder", intermediateFolder, + "-o", wixlibFile, + }); + + WixAssert.CompareLineByLine(new[] + { + "The MsiPackage/@PrereqPackage attribute's value, 'yes', cannot be specified with attribute PrimaryPackageType present.", + }, compileResult.Messages.Select(m => m.ToString()).ToArray()); + + Assert.Equal(193, compileResult.ExitCode); + } + } + } +} diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/.Data/fake.exe b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/.Data/fake.exe new file mode 100644 index 00000000..f27639e9 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/.Data/fake.exe @@ -0,0 +1 @@ +This is fake.exe \ No newline at end of file diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Dncba/Bundle.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Dncba/Bundle.wxs new file mode 100644 index 00000000..5b25da8c --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Dncba/Bundle.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/AlwaysInstallPrereqsBundle.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/AlwaysInstallPrereqsBundle.wxs new file mode 100644 index 00000000..685fef7b --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/AlwaysInstallPrereqsBundle.wxs @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/Bundle.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/Bundle.wxs new file mode 100644 index 00000000..59be4bd4 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/MBA/Bundle.wxs @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/Bundle.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/Bundle.wxs new file mode 100644 index 00000000..1274826f --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/Bundle.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxl b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxl new file mode 100644 index 00000000..0667c3cb --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxl @@ -0,0 +1,4 @@ + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxs new file mode 100644 index 00000000..67dfc589 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/Overridable/WrongCaseBundle.wxs @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/AllPrereqPackages.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/AllPrereqPackages.wxs new file mode 100644 index 00000000..17f1ee77 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/AllPrereqPackages.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitNonMsiPrimaryPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitNonMsiPrimaryPackage.wxs new file mode 100644 index 00000000..ca1f9358 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitNonMsiPrimaryPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackage.wxs new file mode 100644 index 00000000..16a99e92 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackageEnableFeatureSelection.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackageEnableFeatureSelection.wxs new file mode 100644 index 00000000..85b9df65 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/ImplicitPrimaryPackageEnableFeatureSelection.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/IuibaWarnings.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/IuibaWarnings.wxs new file mode 100644 index 00000000..2cf9787d --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/IuibaWarnings.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleDefaultPrimaryPackages.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleDefaultPrimaryPackages.wxs new file mode 100644 index 00000000..11736fbb --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleDefaultPrimaryPackages.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleNonPermanentNonPrimaryPackages.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleNonPermanentNonPrimaryPackages.wxs new file mode 100644 index 00000000..c5b923df --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/MultipleNonPermanentNonPrimaryPackages.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NoDefaultPrimaryPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NoDefaultPrimaryPackage.wxs new file mode 100644 index 00000000..7f7528d0 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NoDefaultPrimaryPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonMsiPrimaryPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonMsiPrimaryPackage.wxs new file mode 100644 index 00000000..a6f93bcb --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonMsiPrimaryPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonPermanentPrereqPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonPermanentPrereqPackage.wxs new file mode 100644 index 00000000..a60943b0 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/NonPermanentPrereqPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PermanentPrimaryPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PermanentPrimaryPackage.wxs new file mode 100644 index 00000000..43caaf86 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PermanentPrimaryPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPackageEnableFeatureSelection.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPackageEnableFeatureSelection.wxs new file mode 100644 index 00000000..4f1c40dd --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPackageEnableFeatureSelection.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPrereqPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPrereqPackage.wxs new file mode 100644 index 00000000..bdb8c470 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/PrimaryPrereqPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/SinglePrimaryPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/SinglePrimaryPackage.wxs new file mode 100644 index 00000000..1e9a87c2 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/SinglePrimaryPackage.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/UrlPrereqPackage.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/UrlPrereqPackage.wxs new file mode 100644 index 00000000..0c68908c --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixIuiBa/UrlPrereqPackage.wxs @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Bundle.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Bundle.wxs new file mode 100644 index 00000000..c17b53ff --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Bundle.wxs @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Data/test.msi b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Data/test.msi new file mode 100644 index 00000000..94aacd1a Binary files /dev/null and b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/Data/test.msi differ diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs new file mode 100644 index 00000000..f08cfe6a --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.csproj b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.csproj new file mode 100644 index 00000000..64fc297c --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.csproj @@ -0,0 +1,25 @@ + + + + + + net6.0 + true + + + + + + + + + + + + + + + + + + diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.v3.ncrunchproject b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.v3.ncrunchproject new file mode 100644 index 00000000..7b5b2139 --- /dev/null +++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.v3.ncrunchproject @@ -0,0 +1,5 @@ + + + True + + \ No newline at end of file -- cgit v1.2.3-55-g6feb