Process.Start throws Win32 Exception Access is Denied on Windows XP Machines

0

I'm attempting to call an executable using Process.Start and it is throwing a Win32 Exception only on Windows XP machines. This is a console application installed on the machine.

Here's an example of the code:

var path = @"C:\mycoolpath\file.exe";
var content = "My cool content";

using (var process = Process.Start(new ProcessStartInfo(path, content)))
       process.WaitForExit();

Here's the stack trace:

System.ComponentModel.Win32Exception (0x80004005): Access is denied
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)

Does anyone have any advice on getting this to work on Windows XP machines?

c#
.net
windows
asked on Stack Overflow Feb 23, 2011 by strickland • edited Mar 18, 2021 by riQQ

1 Answer

8

Using UseShellExecute = false for the ProcessStartInfo lets this work.

answered on Stack Overflow Mar 14, 2011 by strickland • edited Mar 18, 2021 by riQQ

User contributions licensed under CC BY-SA 3.0