Skip to content

Commit 65a5659

Browse files
author
Paul van Brenk
committed
Fix issue with output encoding when not redirecting output
1 parent 2f24f43 commit 65a5659

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

Common/Product/SharedProject/ProcessOutput.cs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,19 @@ public static ProcessOutput Run(
162162
QuoteSingleArgument(filename),
163163
GetArguments(arguments, quoteArgs)),
164164
CreateNoWindow = !visible,
165-
UseShellExecute = false,
166-
RedirectStandardError = !visible || (redirector != null),
167-
RedirectStandardOutput = !visible || (redirector != null),
168-
RedirectStandardInput = !visible
165+
UseShellExecute = false
169166
};
170-
psi.StandardOutputEncoding = outputEncoding ?? psi.StandardOutputEncoding;
171-
psi.StandardErrorEncoding = errorEncoding ?? outputEncoding ?? psi.StandardErrorEncoding;
167+
168+
if (!visible || (redirector != null))
169+
{
170+
psi.RedirectStandardError = true;
171+
psi.RedirectStandardOutput = true;
172+
psi.RedirectStandardInput = true;
173+
// only set the encoding when we're redirecting the output
174+
psi.StandardOutputEncoding = outputEncoding ?? psi.StandardOutputEncoding;
175+
psi.StandardErrorEncoding = errorEncoding ?? outputEncoding ?? psi.StandardErrorEncoding;
176+
}
177+
172178
if (env != null)
173179
{
174180
foreach (var kv in env)

0 commit comments

Comments
 (0)