diff options
author | Bob Arnson <bob@firegiant.com> | 2024-06-29 21:19:11 -0400 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2024-12-26 17:11:13 -0800 |
commit | f0e48ecd4663368a577a780220f843ec10b7b402 (patch) | |
tree | 04e73a60f3905ab7775059aae1ec79d20bf10738 | |
parent | d6f784beffca852bd89c7b1a734158b24dd45989 (diff) | |
download | wix-f0e48ecd4663368a577a780220f843ec10b7b402.tar.gz wix-f0e48ecd4663368a577a780220f843ec10b7b402.tar.bz2 wix-f0e48ecd4663368a577a780220f843ec10b7b402.zip |
For fields, "" != null.
Fixes https://github.com/wixtoolset/issues/issues/8558
3 files changed, 44 insertions, 2 deletions
diff --git a/src/wix/WixToolset.Core/Compiler.cs b/src/wix/WixToolset.Core/Compiler.cs index d13f1a68..84f31344 100644 --- a/src/wix/WixToolset.Core/Compiler.cs +++ b/src/wix/WixToolset.Core/Compiler.cs | |||
@@ -1948,10 +1948,10 @@ namespace WixToolset.Core | |||
1948 | signature = this.ParseComponentSearchElement(child); | 1948 | signature = this.ParseComponentSearchElement(child); |
1949 | break; | 1949 | break; |
1950 | case "DirectorySearch": | 1950 | case "DirectorySearch": |
1951 | signature = this.ParseDirectorySearchElement(child, String.Empty); | 1951 | signature = this.ParseDirectorySearchElement(child, null); |
1952 | break; | 1952 | break; |
1953 | case "DirectorySearchRef": | 1953 | case "DirectorySearchRef": |
1954 | signature = this.ParseDirectorySearchRefElement(child, String.Empty); | 1954 | signature = this.ParseDirectorySearchRefElement(child, null); |
1955 | break; | 1955 | break; |
1956 | case "IniFileSearch": | 1956 | case "IniFileSearch": |
1957 | signature = this.ParseIniFileSearchElement(child); | 1957 | signature = this.ParseIniFileSearchElement(child); |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs index a8b9c3e8..3194ed7a 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs | |||
@@ -116,6 +116,39 @@ namespace WixToolsetTest.CoreIntegration | |||
116 | } | 116 | } |
117 | 117 | ||
118 | [Fact] | 118 | [Fact] |
119 | public void PopulatesAppSearchTablesFromDirectorySearchInMergeModule() | ||
120 | { | ||
121 | var folder = TestData.Get(@"TestData"); | ||
122 | |||
123 | using (var fs = new DisposableFileSystem()) | ||
124 | { | ||
125 | var baseFolder = fs.GetFolder(); | ||
126 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
127 | var msmPath = Path.Combine(baseFolder, @"bin\test.msm"); | ||
128 | |||
129 | var result = WixRunner.Execute(new[] | ||
130 | { | ||
131 | "build", | ||
132 | Path.Combine(folder, "AppSearch", "DirectorySearchInModule.wxs"), | ||
133 | "-bindpath", Path.Combine(folder, "SingleFile", "data"), | ||
134 | "-intermediateFolder", intermediateFolder, | ||
135 | "-o", msmPath, | ||
136 | "-sw1079", | ||
137 | }); | ||
138 | |||
139 | result.AssertSuccess(); | ||
140 | |||
141 | Assert.True(File.Exists(msmPath)); | ||
142 | var results = Query.QueryDatabase(msmPath, new[] { "AppSearch", "DrLocator", "IniLocator" }); | ||
143 | WixAssert.CompareLineByLine(new[] | ||
144 | { | ||
145 | "AppSearch:SYSTEM32FOLDER.7361203A_597E_4DA2_9024_27246B8446B2\tWindowsDrLocator.7361203A_597E_4DA2_9024_27246B8446B2", | ||
146 | "DrLocator:WindowsDrLocator.7361203A_597E_4DA2_9024_27246B8446B2\t\t[WindowsFolder.7361203A_597E_4DA2_9024_27246B8446B2]System32\t", | ||
147 | }, results); | ||
148 | } | ||
149 | } | ||
150 | |||
151 | [Fact] | ||
119 | public void PopulatesAppSearchTablesFromRegistrySearch() | 152 | public void PopulatesAppSearchTablesFromRegistrySearch() |
120 | { | 153 | { |
121 | var folder = TestData.Get(@"TestData"); | 154 | var folder = TestData.Get(@"TestData"); |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DirectorySearchInModule.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DirectorySearchInModule.wxs new file mode 100644 index 00000000..9f4cb47e --- /dev/null +++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DirectorySearchInModule.wxs | |||
@@ -0,0 +1,9 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
3 | <Module Id="DirectorySearchModule" Language="1033" Version="1.0.0.0" | ||
4 | Guid="{7361203A-597E-4DA2-9024-27246B8446B2}"> | ||
5 | <Property Id="SYSTEM32FOLDER"> | ||
6 | <DirectorySearch Id="WindowsDrLocator" Path="[WindowsFolder]System32" /> | ||
7 | </Property> | ||
8 | </Module> | ||
9 | </Wix> | ||