From 9eeaf6cc7d32ddd1a45b824558ecbb89f466308a Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Tue, 4 Jan 2022 17:21:30 -0800 Subject: Read WindowsInstallerData at same XML conformance as writing --- src/ext/UI/UI.wixext.v3.ncrunchsolution | 6 ++++ .../test/WixToolsetTest.UI/UIExtensionFixture.cs | 33 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/ext/UI/UI.wixext.v3.ncrunchsolution (limited to 'src/ext') diff --git a/src/ext/UI/UI.wixext.v3.ncrunchsolution b/src/ext/UI/UI.wixext.v3.ncrunchsolution new file mode 100644 index 00000000..10420ac9 --- /dev/null +++ b/src/ext/UI/UI.wixext.v3.ncrunchsolution @@ -0,0 +1,6 @@ + + + True + True + + \ No newline at end of file diff --git a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs index ca36fed5..778bfb64 100644 --- a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs +++ b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs @@ -2,9 +2,14 @@ namespace WixToolsetTest.UI { + using System; + using System.IO; using System.Linq; using WixBuildTools.TestSupport; using WixToolset.Core.TestPackage; + using WixToolset.Data; + using WixToolset.Data.Symbols; + using WixToolset.Data.WindowsInstaller; using WixToolset.UI; using Xunit; @@ -66,6 +71,34 @@ namespace WixToolsetTest.UI }, results.Where(s => s.StartsWith("Property:WixUI_Mode")).ToArray()); } + [Fact] + public void CanBuildUsingWixUIMinimalAndReadPdb() + { + var folder = TestData.Get(@"TestData\WixUI_Minimal"); + var bindFolder = TestData.Get(@"TestData\data"); + + using (var fs = new DisposableFileSystem()) + { + var intermediateFolder = fs.GetFolder(); + + Build(new[] + { + "build", + Path.Combine(folder, "Package.wxs"), + "-ext", Path.GetFullPath(new Uri(typeof(UIExtensionFactory).Assembly.CodeBase).LocalPath), + "-bindpath", bindFolder, + "-intermediateFolder", intermediateFolder, + "-o", Path.Combine(intermediateFolder, @"bin\test.msi") + }); + + var wid = WindowsInstallerData.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); + var propertyTable = wid.Tables["Property"]; + + var propertyRow = propertyTable.Rows.Single(r => r.GetPrimaryKey() == "WixUI_Mode"); + WixAssert.StringEqual("Minimal", propertyRow.FieldAsString(1)); + } + } + [Fact] public void CanBuildUsingWixUIMondo() { -- cgit v1.2.3-55-g6feb