diff options
author | Rob Mensching <rob@firegiant.com> | 2022-12-11 17:00:28 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2022-12-11 18:21:46 -0800 |
commit | b91ef8598fd8b16329b39b449555b8d1c00a0d06 (patch) | |
tree | d7aa7e25af2472282dd023faaaa15d16f28394dc | |
parent | 97c33e9919d9bc586d04f3524da60d2a304bef07 (diff) | |
download | wix-b91ef8598fd8b16329b39b449555b8d1c00a0d06.tar.gz wix-b91ef8598fd8b16329b39b449555b8d1c00a0d06.tar.bz2 wix-b91ef8598fd8b16329b39b449555b8d1c00a0d06.zip |
Fix `wix extension list` always listing extensions as damaged
Fixes 7084
-rw-r--r-- | src/wix/WixToolset.Core.ExtensionCache/ExtensionCacheManager.cs | 16 | ||||
-rw-r--r-- | src/wix/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs | 1 |
2 files changed, 10 insertions, 7 deletions
diff --git a/src/wix/WixToolset.Core.ExtensionCache/ExtensionCacheManager.cs b/src/wix/WixToolset.Core.ExtensionCache/ExtensionCacheManager.cs index 5706413f..7f5dc0ff 100644 --- a/src/wix/WixToolset.Core.ExtensionCache/ExtensionCacheManager.cs +++ b/src/wix/WixToolset.Core.ExtensionCache/ExtensionCacheManager.cs | |||
@@ -88,7 +88,7 @@ namespace WixToolset.Core.ExtensionCache | |||
88 | } | 88 | } |
89 | else if (!String.IsNullOrEmpty(extensionVersion)) // looking for an explicit version of an extension. | 89 | else if (!String.IsNullOrEmpty(extensionVersion)) // looking for an explicit version of an extension. |
90 | { | 90 | { |
91 | var present = ExtensionFileExists(cacheFolder, extensionId, extensionVersion); | 91 | var present = this.ExtensionFileExists(cacheFolder, extensionId, extensionVersion); |
92 | found.Add(new CachedExtension(extensionId, extensionVersion, !present)); | 92 | found.Add(new CachedExtension(extensionId, extensionVersion, !present)); |
93 | } | 93 | } |
94 | else // looking for all versions of an extension or all versions of all extensions. | 94 | else // looking for all versions of an extension or all versions of all extensions. |
@@ -122,7 +122,7 @@ namespace WixToolset.Core.ExtensionCache | |||
122 | continue; | 122 | continue; |
123 | } | 123 | } |
124 | 124 | ||
125 | var present = ExtensionFileExists(cacheFolder, foundExtensionId, foundExtensionVersion); | 125 | var present = this.ExtensionFileExists(cacheFolder, foundExtensionId, foundExtensionVersion); |
126 | found.Add(new CachedExtension(foundExtensionId, foundExtensionVersion, !present)); | 126 | found.Add(new CachedExtension(foundExtensionId, foundExtensionVersion, !present)); |
127 | } | 127 | } |
128 | } | 128 | } |
@@ -259,20 +259,22 @@ namespace WixToolset.Core.ExtensionCache | |||
259 | return (extensionId, extensionVersion); | 259 | return (extensionId, extensionVersion); |
260 | } | 260 | } |
261 | 261 | ||
262 | private static bool ExtensionFileExists(string baseFolder, string extensionId, string extensionVersion) | 262 | private bool ExtensionFileExists(string baseFolder, string extensionId, string extensionVersion) |
263 | { | 263 | { |
264 | var toolsFolder = Path.Combine(baseFolder, extensionId, extensionVersion, "tools"); | 264 | var packageRootFolderName = this.ExtensionManager.GetExtensionPackageRootFolderName(); |
265 | if (!Directory.Exists(toolsFolder)) | 265 | |
266 | var extensionFolder = Path.Combine(baseFolder, extensionId, extensionVersion, packageRootFolderName); | ||
267 | if (!Directory.Exists(extensionFolder)) | ||
266 | { | 268 | { |
267 | return false; | 269 | return false; |
268 | } | 270 | } |
269 | 271 | ||
270 | var extensionAssembly = Path.Combine(toolsFolder, extensionId + ".dll"); | 272 | var extensionAssembly = Path.Combine(extensionFolder, extensionId + ".dll"); |
271 | 273 | ||
272 | var present = File.Exists(extensionAssembly); | 274 | var present = File.Exists(extensionAssembly); |
273 | if (!present) | 275 | if (!present) |
274 | { | 276 | { |
275 | extensionAssembly = Path.Combine(toolsFolder, extensionId + ".exe"); | 277 | extensionAssembly = Path.Combine(extensionFolder, extensionId + ".exe"); |
276 | present = File.Exists(extensionAssembly); | 278 | present = File.Exists(extensionAssembly); |
277 | } | 279 | } |
278 | 280 | ||
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs index 88b8a953..7cfd4999 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs | |||
@@ -201,6 +201,7 @@ namespace WixToolsetTest.CoreIntegration | |||
201 | result.AssertSuccess(); | 201 | result.AssertSuccess(); |
202 | var output = result.Messages.Select(m => m.ToString()).Single(); | 202 | var output = result.Messages.Select(m => m.ToString()).Single(); |
203 | Assert.StartsWith("WixToolset.UI.wixext 4.", output); | 203 | Assert.StartsWith("WixToolset.UI.wixext 4.", output); |
204 | Assert.DoesNotContain("damaged", output); | ||
204 | 205 | ||
205 | result = WixRunner.Execute(new[] | 206 | result = WixRunner.Execute(new[] |
206 | { | 207 | { |