From a3a3b2aca8978b9ff00d64a3be20ce6525ee78cd Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 5 Jul 2022 10:33:58 -0500 Subject: Add missing Binary simple reference for UI.wixext dll. --- .../test/WixToolsetTest.UI/UIExtensionFixture.cs | 149 +++++++++++++++++---- src/ext/UI/wixext/UICompiler.cs | 1 + 2 files changed, 125 insertions(+), 25 deletions(-) diff --git a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs index 4b1c8575..f93f232c 100644 --- a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs +++ b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs @@ -20,14 +20,27 @@ namespace WixToolsetTest.UI var bindFolder = TestData.Get(@"TestData\data"); var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); - var results = build.BuildAndQuery(Build, "Dialog", "CustomAction"); + var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction"); Assert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetDefaultPerMachineFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetDefaultPerUserFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetPerMachineFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetPerUserFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixUIPrintEula\t65\tWixUiCa_X86\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixUIValidatePath\t65\tWixUiCa_X86\t")); + WixAssert.CompareLineByLine(new[] + { + "Binary:WixUI_Bmp_Banner\t[Binary data]", + "Binary:WixUI_Bmp_Dialog\t[Binary data]", + "Binary:WixUI_Bmp_New\t[Binary data]", + "Binary:WixUI_Bmp_Up\t[Binary data]", + "Binary:WixUI_Ico_Exclam\t[Binary data]", + "Binary:WixUI_Ico_Info\t[Binary data]", + "Binary:WixUiCa_X86\t[Binary data]", + }, results.Where(r => r.StartsWith("Binary:")).ToArray()); + WixAssert.CompareLineByLine(new[] + { + "CustomAction:WixSetDefaultPerMachineFolder\t51\tWixPerMachineFolder\t[ProgramFilesFolder][ApplicationFolderName]\t", + "CustomAction:WixSetDefaultPerUserFolder\t51\tWixPerUserFolder\t[LocalAppDataFolder]Apps\\[ApplicationFolderName]\t", + "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", + "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", + "CustomAction:WixUIPrintEula\t65\tWixUiCa_X86\tPrintEula\t", + "CustomAction:WixUIValidatePath\t65\tWixUiCa_X86\tValidatePath\t", + }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); } [Fact] @@ -37,14 +50,27 @@ namespace WixToolsetTest.UI var bindFolder = TestData.Get(@"TestData\data"); var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); - var results = build.BuildAndQuery(BuildX64, "Dialog", "CustomAction"); + var results = build.BuildAndQuery(BuildX64, "Binary", "Dialog", "CustomAction"); Assert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetDefaultPerMachineFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetDefaultPerUserFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetPerMachineFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetPerUserFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixUIPrintEula\t65\tWixUiCa_X64\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixUIValidatePath\t65\tWixUiCa_X64\t")); + WixAssert.CompareLineByLine(new[] + { + "Binary:WixUI_Bmp_Banner\t[Binary data]", + "Binary:WixUI_Bmp_Dialog\t[Binary data]", + "Binary:WixUI_Bmp_New\t[Binary data]", + "Binary:WixUI_Bmp_Up\t[Binary data]", + "Binary:WixUI_Ico_Exclam\t[Binary data]", + "Binary:WixUI_Ico_Info\t[Binary data]", + "Binary:WixUiCa_X64\t[Binary data]", + }, results.Where(r => r.StartsWith("Binary:")).ToArray()); + WixAssert.CompareLineByLine(new[] + { + "CustomAction:WixSetDefaultPerMachineFolder\t51\tWixPerMachineFolder\t[ProgramFilesFolder][ApplicationFolderName]\t", + "CustomAction:WixSetDefaultPerUserFolder\t51\tWixPerUserFolder\t[LocalAppDataFolder]Apps\\[ApplicationFolderName]\t", + "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", + "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", + "CustomAction:WixUIPrintEula\t65\tWixUiCa_X64\tPrintEula\t", + "CustomAction:WixUIValidatePath\t65\tWixUiCa_X64\tValidatePath\t", + }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); } [Fact] @@ -54,14 +80,27 @@ namespace WixToolsetTest.UI var bindFolder = TestData.Get(@"TestData\data"); var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); - var results = build.BuildAndQuery(BuildARM64, "Dialog", "CustomAction"); + var results = build.BuildAndQuery(BuildARM64, "Binary", "Dialog", "CustomAction"); Assert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetDefaultPerMachineFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetDefaultPerUserFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetPerMachineFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixSetPerUserFolder\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixUIPrintEula\t65\tWixUiCa_A64\t")); - Assert.Single(results, result => result.StartsWith("CustomAction:WixUIValidatePath\t65\tWixUiCa_A64\t")); + WixAssert.CompareLineByLine(new[] + { + "Binary:WixUI_Bmp_Banner\t[Binary data]", + "Binary:WixUI_Bmp_Dialog\t[Binary data]", + "Binary:WixUI_Bmp_New\t[Binary data]", + "Binary:WixUI_Bmp_Up\t[Binary data]", + "Binary:WixUI_Ico_Exclam\t[Binary data]", + "Binary:WixUI_Ico_Info\t[Binary data]", + "Binary:WixUiCa_A64\t[Binary data]", + }, results.Where(r => r.StartsWith("Binary:")).ToArray()); + WixAssert.CompareLineByLine(new[] + { + "CustomAction:WixSetDefaultPerMachineFolder\t51\tWixPerMachineFolder\t[ProgramFilesFolder][ApplicationFolderName]\t", + "CustomAction:WixSetDefaultPerUserFolder\t51\tWixPerUserFolder\t[LocalAppDataFolder]Apps\\[ApplicationFolderName]\t", + "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", + "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", + "CustomAction:WixUIPrintEula\t65\tWixUiCa_A64\tPrintEula\t", + "CustomAction:WixUIValidatePath\t65\tWixUiCa_A64\tValidatePath\t", + }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); } [Fact] @@ -71,10 +110,25 @@ namespace WixToolsetTest.UI var bindFolder = TestData.Get(@"TestData\data"); var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); - var results = build.BuildAndQuery(Build, "Dialog", "CustomAction"); + var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction"); Assert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); Assert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); Assert.Empty(results.Where(result => result.StartsWith("Dialog:SetupTypeDlg\t"))); + WixAssert.CompareLineByLine(new[] + { + "Binary:WixUI_Bmp_Banner\t[Binary data]", + "Binary:WixUI_Bmp_Dialog\t[Binary data]", + "Binary:WixUI_Bmp_New\t[Binary data]", + "Binary:WixUI_Bmp_Up\t[Binary data]", + "Binary:WixUI_Ico_Exclam\t[Binary data]", + "Binary:WixUI_Ico_Info\t[Binary data]", + "Binary:WixUiCa_X86\t[Binary data]", + }, results.Where(r => r.StartsWith("Binary:")).ToArray()); + WixAssert.CompareLineByLine(new[] + { + "CustomAction:WixUIPrintEula\t65\tWixUiCa_X86\tPrintEula\t", + "CustomAction:WixUIValidatePath\t65\tWixUiCa_X86\tValidatePath\t", + }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); } [Fact] @@ -84,8 +138,23 @@ namespace WixToolsetTest.UI var bindFolder = TestData.Get(@"TestData\data"); var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); - var results = build.BuildAndQuery(Build, "Dialog", "CustomAction"); + var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction"); Assert.Single(results, result => result.StartsWith("Dialog:InstallDirDlg\t")); + WixAssert.CompareLineByLine(new[] + { + "Binary:WixUI_Bmp_Banner\t[Binary data]", + "Binary:WixUI_Bmp_Dialog\t[Binary data]", + "Binary:WixUI_Bmp_New\t[Binary data]", + "Binary:WixUI_Bmp_Up\t[Binary data]", + "Binary:WixUI_Ico_Exclam\t[Binary data]", + "Binary:WixUI_Ico_Info\t[Binary data]", + "Binary:WixUiCa_X86\t[Binary data]", + }, results.Where(r => r.StartsWith("Binary:")).ToArray()); + WixAssert.CompareLineByLine(new[] + { + "CustomAction:WixUIPrintEula\t65\tWixUiCa_X86\tPrintEula\t", + "CustomAction:WixUIValidatePath\t65\tWixUiCa_X86\tValidatePath\t", + }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); } [Fact] @@ -95,8 +164,23 @@ namespace WixToolsetTest.UI var bindFolder = TestData.Get(@"TestData\data"); var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); - var results = build.BuildAndQuery(Build, "Dialog", "CustomAction"); + var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction"); Assert.Single(results, result => result.StartsWith("Dialog:WelcomeEulaDlg\t")); + WixAssert.CompareLineByLine(new[] + { + "Binary:WixUI_Bmp_Banner\t[Binary data]", + "Binary:WixUI_Bmp_Dialog\t[Binary data]", + "Binary:WixUI_Bmp_New\t[Binary data]", + "Binary:WixUI_Bmp_Up\t[Binary data]", + "Binary:WixUI_Ico_Exclam\t[Binary data]", + "Binary:WixUI_Ico_Info\t[Binary data]", + "Binary:WixUiCa_X86\t[Binary data]", + }, results.Where(r => r.StartsWith("Binary:")).ToArray()); + WixAssert.CompareLineByLine(new[] + { + "CustomAction:WixUIPrintEula\t65\tWixUiCa_X86\tPrintEula\t", + "CustomAction:WixUIValidatePath\t65\tWixUiCa_X86\tValidatePath\t", + }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); } [Fact] @@ -144,10 +228,25 @@ namespace WixToolsetTest.UI var bindFolder = TestData.Get(@"TestData\data"); var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); - var results = build.BuildAndQuery(Build, "Dialog", "CustomAction"); + var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction"); Assert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); Assert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); Assert.Single(results, result => result.StartsWith("Dialog:SetupTypeDlg\t")); + WixAssert.CompareLineByLine(new[] + { + "Binary:WixUI_Bmp_Banner\t[Binary data]", + "Binary:WixUI_Bmp_Dialog\t[Binary data]", + "Binary:WixUI_Bmp_New\t[Binary data]", + "Binary:WixUI_Bmp_Up\t[Binary data]", + "Binary:WixUI_Ico_Exclam\t[Binary data]", + "Binary:WixUI_Ico_Info\t[Binary data]", + "Binary:WixUiCa_X86\t[Binary data]", + }, results.Where(r => r.StartsWith("Binary:")).ToArray()); + WixAssert.CompareLineByLine(new[] + { + "CustomAction:WixUIPrintEula\t65\tWixUiCa_X86\tPrintEula\t", + "CustomAction:WixUIValidatePath\t65\tWixUiCa_X86\tValidatePath\t", + }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); } [Fact] diff --git a/src/ext/UI/wixext/UICompiler.cs b/src/ext/UI/wixext/UICompiler.cs index 46b856c0..1d845237 100644 --- a/src/ext/UI/wixext/UICompiler.cs +++ b/src/ext/UI/wixext/UICompiler.cs @@ -90,6 +90,7 @@ namespace WixToolset.UI // in the UI .wixlib. var platform = this.Context.Platform == Platform.ARM64 ? "A64" : this.Context.Platform.ToString(); var source = $"WixUiCa_{platform}"; + this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.Binary, source); section.AddSymbol(new CustomActionSymbol(sourceLineNumbers, new Identifier(AccessModifier.Global, "WixUIPrintEula")) { -- cgit v1.2.3-55-g6feb