From 168bd779a1994d390ee862ff3bd2de1e7d7ea031 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Tue, 21 Feb 2023 14:20:55 -0500 Subject: Fix RemoveFoldersEx query. Fixes https://github.com/wixtoolset/issues/issues/7236. --- src/ext/Util/ca/RemoveFoldersEx.cpp | 4 ++-- .../TestData/RemoveFolderEx/Module.wxs | 12 ++++++------ .../TestData/RemoveFolderExPackage/Package.en-us.wxl | 9 +++++++++ .../TestData/RemoveFolderExPackage/Package.wxs | 19 +++++++++++++++++++ .../RemoveFolderExPackage/PackageComponents.wxs | 11 +++++++++++ .../TestData/RemoveFolderExPackage/example.txt | 1 + .../test/WixToolsetTest.Util/UtilExtensionFixture.cs | 15 +++++++++++++++ 7 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.en-us.wxl create mode 100644 src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.wxs create mode 100644 src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/PackageComponents.wxs create mode 100644 src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/example.txt diff --git a/src/ext/Util/ca/RemoveFoldersEx.cpp b/src/ext/Util/ca/RemoveFoldersEx.cpp index 266594fd..10345de7 100644 --- a/src/ext/Util/ca/RemoveFoldersEx.cpp +++ b/src/ext/Util/ca/RemoveFoldersEx.cpp @@ -3,8 +3,8 @@ #include "precomp.h" LPCWSTR vcsRemoveFolderExQuery = - L"SELECT `Wix4RemoveFolderEx`, `Component_`, `Property`, `InstallMode`, `Wix4RemoveFolderEx`.`Condition`, `Component`.`Attributes`" - L"FROM `Wix4RemoveFolderEx``,`Component` " + L"SELECT `RemoveFolderEx`, `Component_`, `Property`, `InstallMode`, `Wix4RemoveFolderEx`.`Condition`, `Component`.`Attributes` " + L"FROM `Wix4RemoveFolderEx`,`Component` " L"WHERE `Wix4RemoveFolderEx`.`Component_`=`Component`.`Component`"; enum eRemoveFolderExQuery { rfqId = 1, rfqComponent, rfqProperty, rfqMode, rfqCondition, rfqComponentAttributes }; diff --git a/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderEx/Module.wxs b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderEx/Module.wxs index 2c2be584..ee295cdb 100644 --- a/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderEx/Module.wxs +++ b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderEx/Module.wxs @@ -1,13 +1,13 @@ - - + + - - - - + + + + diff --git a/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.en-us.wxl b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.en-us.wxl new file mode 100644 index 00000000..f1df1234 --- /dev/null +++ b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.en-us.wxl @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.wxs b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.wxs new file mode 100644 index 00000000..09f131e7 --- /dev/null +++ b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/Package.wxs @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/PackageComponents.wxs b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/PackageComponents.wxs new file mode 100644 index 00000000..0e277546 --- /dev/null +++ b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/PackageComponents.wxs @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/example.txt b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/ext/Util/test/WixToolsetTest.Util/TestData/RemoveFolderExPackage/example.txt @@ -0,0 +1 @@ +This is example.txt. \ No newline at end of file diff --git a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs index a9b37870..f90b87f6 100644 --- a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs +++ b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs @@ -182,6 +182,21 @@ namespace WixToolsetTest.Util }, results.OrderBy(s => s).ToArray()); } + [Fact] + public void CanBuildRemoveFolderExInPackage() + { + var folder = TestData.Get(@"TestData\RemoveFolderExPackage"); + var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); + + var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "RemoveFile", "Wix4RemoveFolderEx"); + WixAssert.CompareLineByLine(new[] + { + "Binary:Wix4UtilCA_X64\t[Binary data]", + "CustomAction:Wix4RemoveFoldersEx_X64\t65\tWix4UtilCA_X64\tWixRemoveFoldersEx\t", + "Wix4RemoveFolderEx:wrfRwBJnGq1p9zdOKI6qUQ.p.wHFtE\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tREMOVEPROP\t3\t", + }, results.OrderBy(s => s).ToArray()); + } + [Fact] public void CanBuildServiceConfig() { -- cgit v1.2.3-55-g6feb