aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-11-21 11:59:19 -0800
committerRob Mensching <rob@firegiant.com>2022-11-21 15:25:02 -0800
commit2245144eb5923eca93bd16c7892eb4670a51e10a (patch)
tree1016990384a68b7d0cd02557e33afb9434568336
parent8a4c0810ea2756888df18b0da5813e8c5bad4c54 (diff)
downloadwix-2245144eb5923eca93bd16c7892eb4670a51e10a.tar.gz
wix-2245144eb5923eca93bd16c7892eb4670a51e10a.tar.bz2
wix-2245144eb5923eca93bd16c7892eb4670a51e10a.zip
Handle spaces when finding path to executables in MSBuild task
Fixes 7035
-rw-r--r--src/internal/WixInternal.BaseBuildTasks.Sources/BaseToolsetTask.cs4
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs2
-rw-r--r--src/wix/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/internal/WixInternal.BaseBuildTasks.Sources/BaseToolsetTask.cs b/src/internal/WixInternal.BaseBuildTasks.Sources/BaseToolsetTask.cs
index 6edd4a35..56277912 100644
--- a/src/internal/WixInternal.BaseBuildTasks.Sources/BaseToolsetTask.cs
+++ b/src/internal/WixInternal.BaseBuildTasks.Sources/BaseToolsetTask.cs
@@ -178,11 +178,11 @@ namespace WixToolset.BaseBuildTasks
178 private string GetDefaultToolFullPath() 178 private string GetDefaultToolFullPath()
179 { 179 {
180#if NETCOREAPP 180#if NETCOREAPP
181 var thisTaskFolder = Path.GetDirectoryName(typeof(BaseToolsetTask).Assembly.Location); 181 var thisTaskFolder = Path.GetDirectoryName(Path.GetFullPath(typeof(BaseToolsetTask).Assembly.Location));
182 182
183 return Path.Combine(thisTaskFolder, this.ToolExe); 183 return Path.Combine(thisTaskFolder, this.ToolExe);
184#else 184#else
185 var thisTaskFolder = Path.GetDirectoryName(new Uri(typeof(BaseToolsetTask).Assembly.CodeBase).AbsolutePath); 185 var thisTaskFolder = Path.GetDirectoryName(Path.GetFullPath(new Uri(typeof(BaseToolsetTask).Assembly.CodeBase).LocalPath));
186 186
187 return this.FindArchitectureSpecificToolPath(thisTaskFolder); 187 return this.FindArchitectureSpecificToolPath(thisTaskFolder);
188#endif 188#endif
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
index 1b7e1a32..cea76712 100644
--- a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
+++ b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
@@ -13,7 +13,7 @@ namespace WixToolsetTest.Sdk
13 13
14 public class MsbuildHeatFixture 14 public class MsbuildHeatFixture
15 { 15 {
16 public static readonly string HeatTargetsPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildHeatFixture).Assembly.CodeBase).AbsolutePath), "..", "..", "..", "publish", "WixToolset.Heat", "build", "WixToolset.Heat.targets"); 16 public static readonly string HeatTargetsPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildHeatFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Heat", "build", "WixToolset.Heat.targets");
17 17
18 public MsbuildHeatFixture() 18 public MsbuildHeatFixture()
19 { 19 {
diff --git a/src/wix/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs b/src/wix/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs
index 3d110b81..3709130b 100644
--- a/src/wix/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs
+++ b/src/wix/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs
@@ -15,7 +15,7 @@ namespace WixToolsetTest.BuildTasks
15 15
16 public class WixBuildTaskFixture 16 public class WixBuildTaskFixture
17 { 17 {
18 public static readonly string PublishedWixSdkToolsFolder = Path.Combine(Path.GetDirectoryName(new Uri(typeof(WixBuildTaskFixture).Assembly.CodeBase).AbsolutePath), "..", "..", "..", "publish", "WixToolset.Sdk", "tools"); 18 public static readonly string PublishedWixSdkToolsFolder = Path.Combine(Path.GetDirectoryName(new Uri(typeof(WixBuildTaskFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Sdk", "tools");
19 19
20 // This line replicates what happens in WixBuild task when hosted in the PublishedWixSdkToolsFolder. However, WixBuild task is hosted inproc to this test assembly so the 20 // This line replicates what happens in WixBuild task when hosted in the PublishedWixSdkToolsFolder. However, WixBuild task is hosted inproc to this test assembly so the
21 // root folder is relative to the test assembly's folder which does not have wix.exe local. So, we have to find wix.exe relative to PublishedWixSdkToolsFolder. 21 // root folder is relative to the test assembly's folder which does not have wix.exe local. So, we have to find wix.exe relative to PublishedWixSdkToolsFolder.
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
index 845df9be..a259298c 100644
--- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
+++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
@@ -11,7 +11,7 @@ namespace WixToolsetTest.Sdk
11 11
12 public class MsbuildFixture 12 public class MsbuildFixture
13 { 13 {
14 public static readonly string WixMsbuildPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildFixture).Assembly.CodeBase).AbsolutePath), "..", "..", "..", "publish", "WixToolset.Sdk"); 14 public static readonly string WixMsbuildPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Sdk");
15 public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "build", "WixToolset.Sdk.props"); 15 public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "build", "WixToolset.Sdk.props");
16 16
17 [Theory] 17 [Theory]