NewLife/NewLife.Agent

Merge pull request #13 from AvenSun/fix-path-space

修复当星尘代理路径中有空格时在windowns8.x以及windows server2012下注册服务时失败的问题
Stone 编写于 2024-04-23 08:32:22 GitHub 提交于 2024-04-23 08:32:22
共计: 修改1个文件,增加4行、删除3行。
修改 +4 -3
修改 +4 -3
diff --git a/NewLife.Agent/ServiceBase.cs b/NewLife.Agent/ServiceBase.cs
index 57c1476..1eb39e6 100644
--- a/NewLife.Agent/ServiceBase.cs
+++ b/NewLife.Agent/ServiceBase.cs
@@ -617,10 +617,11 @@ public abstract class ServiceBase : DisposeBase
         if (args.Length >= 1)
         {
             var fileName = Path.GetFileName(exe);
+            exe = $"\"{exe}\"";
             if (fileName.EqualIgnoreCase("dotnet", "dotnet.exe"))
-                exe += " " + args[0].GetFullPath();
+                exe += " " + $"\"{args[0].GetFullPath()}\"";
             else if (fileName.EqualIgnoreCase("mono", "mono.exe", "mono-sgen"))
-                exe = args[0].GetFullPath();
+                exe = $"\"{args[0].GetFullPath()}\"";
         }
 
         //var arg = UseAutorun ? "-run" : "-s";
@@ -636,7 +637,7 @@ public abstract class ServiceBase : DisposeBase
                 if (args[i].EqualIgnoreCase("-server", "-user", "-group"))
                     i++;
                 else
-                    list.Add(args[i]);
+                    list.Add($"\"{args[i]}\"");
             }
             if (list.Count > 0) arg += " " + list.Join(" ");
         }