diff options
author | Bob Arnson <bob@firegiant.com> | 2025-04-09 11:00:59 -0400 |
---|---|---|
committer | Bob Arnson <bob@firegiant.com> | 2025-04-09 11:00:59 -0400 |
commit | 0f2b73f28ff6b5df4af0731cd0abd2aca59293b8 (patch) | |
tree | 2fd1249ac7a129542a441ea47529fe885efdc1c7 | |
parent | 8c7432e50072e009353ea5f2c956ccf453476f71 (diff) | |
download | wix-bob/HarvestMultipleUnnamedBindPaths.tar.gz wix-bob/HarvestMultipleUnnamedBindPaths.tar.bz2 wix-bob/HarvestMultipleUnnamedBindPaths.zip |
Handle having multiple unnamed bind paths.bob/HarvestMultipleUnnamedBindPaths
Fixes https://github.com/wixtoolset/issues/issues/9028
-rw-r--r-- | src/wix/WixToolset.Core/HarvestFilesCommand.cs | 2 | ||||
-rw-r--r-- | src/wix/test/WixToolsetTest.CoreIntegration/HarvestFilesFixture.cs | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/wix/WixToolset.Core/HarvestFilesCommand.cs b/src/wix/WixToolset.Core/HarvestFilesCommand.cs index 25698ece..33c38589 100644 --- a/src/wix/WixToolset.Core/HarvestFilesCommand.cs +++ b/src/wix/WixToolset.Core/HarvestFilesCommand.cs | |||
@@ -206,7 +206,7 @@ namespace WixToolset.Core | |||
206 | 206 | ||
207 | if (String.IsNullOrEmpty(bindName)) | 207 | if (String.IsNullOrEmpty(bindName)) |
208 | { | 208 | { |
209 | var unnamedBindPath = this.Context.BindPaths.SingleOrDefault(bp => bp.Name == null)?.Path; | 209 | var unnamedBindPath = this.Context.BindPaths.FirstOrDefault(bp => bp.Name == null)?.Path; |
210 | 210 | ||
211 | resultingDirectories.Add(unnamedBindPath is null ? path : Path.Combine(unnamedBindPath, path)); | 211 | resultingDirectories.Add(unnamedBindPath is null ? path : Path.Combine(unnamedBindPath, path)); |
212 | } | 212 | } |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/HarvestFilesFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/HarvestFilesFixture.cs index a680d145..b407bb86 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/HarvestFilesFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/HarvestFilesFixture.cs | |||
@@ -317,7 +317,7 @@ namespace WixToolsetTest.CoreIntegration | |||
317 | @"flsu53T_9CcaBegDflAImGHTajDbJ0=PFiles\HarvestedFiles\unnamedfile.txt", | 317 | @"flsu53T_9CcaBegDflAImGHTajDbJ0=PFiles\HarvestedFiles\unnamedfile.txt", |
318 | }; | 318 | }; |
319 | 319 | ||
320 | Build("BindPathsUnnamed.wxs", (msiPath, _) => AssertFileIdsAndTargetPaths(msiPath, expected), addUnnamedBindPath: true); | 320 | Build("BindPathsUnnamed.wxs", (msiPath, _) => AssertFileIdsAndTargetPaths(msiPath, expected), addUnnamedBindPaths: true); |
321 | } | 321 | } |
322 | 322 | ||
323 | [Fact] | 323 | [Fact] |
@@ -423,12 +423,12 @@ namespace WixToolsetTest.CoreIntegration | |||
423 | WixAssert.CompareLineByLine(sortedExpected, actual); | 423 | WixAssert.CompareLineByLine(sortedExpected, actual); |
424 | } | 424 | } |
425 | 425 | ||
426 | private static void Build(string file, Action<string, WixRunnerResult> tester, bool isMsi = true, bool warningsAsErrors = true, bool addUnnamedBindPath = false, params string[] additionalCommandLineArguments) | 426 | private static void Build(string file, Action<string, WixRunnerResult> tester, bool isMsi = true, bool warningsAsErrors = true, bool addUnnamedBindPaths = false, params string[] additionalCommandLineArguments) |
427 | { | 427 | { |
428 | Build(file, (msiPath, sourceFolder, baseFolder, result) => tester(msiPath, result), isMsi, warningsAsErrors, addUnnamedBindPath, additionalCommandLineArguments); | 428 | Build(file, (msiPath, sourceFolder, baseFolder, result) => tester(msiPath, result), isMsi, warningsAsErrors, addUnnamedBindPaths, additionalCommandLineArguments); |
429 | } | 429 | } |
430 | 430 | ||
431 | private static void Build(string file, Action<string, string, string, WixRunnerResult> tester, bool isMsi = true, bool warningsAsErrors = true, bool addUnnamedBindPath = false, params string[] additionalCommandLineArguments) | 431 | private static void Build(string file, Action<string, string, string, WixRunnerResult> tester, bool isMsi = true, bool warningsAsErrors = true, bool addUnnamedBindPaths = false, params string[] additionalCommandLineArguments) |
432 | { | 432 | { |
433 | var sourceFolder = TestData.Get("TestData", "HarvestFiles"); | 433 | var sourceFolder = TestData.Get("TestData", "HarvestFiles"); |
434 | 434 | ||
@@ -449,10 +449,13 @@ namespace WixToolsetTest.CoreIntegration | |||
449 | "-o", msiPath, | 449 | "-o", msiPath, |
450 | }; | 450 | }; |
451 | 451 | ||
452 | if (addUnnamedBindPath) | 452 | if (addUnnamedBindPaths) |
453 | { | 453 | { |
454 | arguments.Add("-bindpath"); | 454 | arguments.Add("-bindpath"); |
455 | arguments.Add(Path.Combine(sourceFolder, "unnamedbindpath")); | 455 | arguments.Add(Path.Combine(sourceFolder, "unnamedbindpath")); |
456 | |||
457 | arguments.Add("-bindpath"); | ||
458 | arguments.Add(Path.Combine(sourceFolder, "unnamedbindpath")); | ||
456 | } | 459 | } |
457 | 460 | ||
458 | if (additionalCommandLineArguments.Length > 0) | 461 | if (additionalCommandLineArguments.Length > 0) |