From 09f20879b8738e69cfa52d4e3131980358c3466b Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Wed, 6 Jul 2016 15:00:53 -0700 Subject: [PATCH] Guard use of UseShellExecute in PackageManagement To re-enable elevation, the process will need to fork. For now, don't fail fatally. --- .../Implementation/ProviderServicesImpl.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.PackageManagement/Implementation/ProviderServicesImpl.cs b/src/Microsoft.PackageManagement/Implementation/ProviderServicesImpl.cs index 6034776e8..dc8a2e4c3 100644 --- a/src/Microsoft.PackageManagement/Implementation/ProviderServicesImpl.cs +++ b/src/Microsoft.PackageManagement/Implementation/ProviderServicesImpl.cs @@ -190,9 +190,14 @@ namespace Microsoft.PackageManagement.Internal.Implementation { public int StartProcess(string filename, string arguments, bool requiresElevation, out string standardOutput, IRequest requestObject) { Process p = new Process(); - if (requiresElevation) { +#if !CORECLR + if (requiresElevation) + { p.StartInfo.UseShellExecute = true; - } else { + } + else +#endif + { p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; }