简体   繁体   中英

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

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?

ProcessStartInfo使用UseShellExecute = false可以让这个工作。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM