From e380e6c64e961c77e679f16bb315aa9f88fe289a Mon Sep 17 00:00:00 2001 From: Richard Fawcett Date: Wed, 17 Mar 2021 16:01:17 +0000 Subject: [PATCH] Fixed bug constructing command-line for elevated process in .NET 5 (#784) --- src/WinSW/Program.cs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/WinSW/Program.cs b/src/WinSW/Program.cs index bbab450..f18471b 100644 --- a/src/WinSW/Program.cs +++ b/src/WinSW/Program.cs @@ -601,19 +601,15 @@ namespace WinSW string? stderrName = Console.IsErrorRedirected ? Guid.NewGuid().ToString() : null; #endif - string arguments = "/elevated " + + string exe = Environment.GetCommandLineArgs()[0]; + string commandLine = Environment.CommandLine; + string arguments = "/elevated" + #if VNEXT " " + (stdinName ?? NoPipe) + " " + (stdoutName ?? NoPipe) + " " + (stderrName ?? NoPipe) + #endif -#if NET - string.Join(' ', args); -#elif !NET20 - string.Join(" ", args); -#else - string.Join(" ", args.ToArray()); -#endif + commandLine.Remove(commandLine.IndexOf(exe), exe.Length).TrimStart('"'); var startInfo = new ProcessStartInfo {