2011-02-23 103 views
0

我正在嘗試調用使用Process.Start的可執行文件,並且它僅在Windows XP計算機上拋出Win32異常。這是一臺安裝在機器上的控制檯應用程序。Process.Start拋出Win32異常訪問在Windows XP機器上被拒絕

下面的代碼示例:

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

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

這裏的堆棧跟蹤: System.ComponentModel.Win32Exception(0x80004005的):訪問在System.Diagnostics.Process.StartWithShellExecuteEx(的ProcessStartInfo的StartInfo) 被拒絕 在System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)

任何人有任何建議讓它在Windows XP機器上工作?

+3

完全瘋狂的猜測,但也許你應該授予它訪問,所以它不會被拒絕訪問? – Mehrdad 2011-02-23 21:59:54

+1

這是一個ASP.NET應用程序或Win32服務? – 2011-02-23 22:01:43

+1

不要讓我們猜測異常消息的確切文本。 – 2011-02-23 22:03:34

回答

7

對於ProcessStartInfo,使用UseShellExecute = false可以實現此功能。

相關問題