我正在使用process.Start執行psexec,它可以遠程執行msi。從命令行與雙擊執行WPF應用程序時運行psexec的不同行爲
出於某種原因,當我雙擊應用程序時,process.StandardOutput.ReadToEnd()掛起,但是當我從命令提示符執行WPF應用程序時,它很好。
有人有什麼想法嗎?
謝謝。
我正在使用process.Start執行psexec,它可以遠程執行msi。從命令行與雙擊執行WPF應用程序時運行psexec的不同行爲
出於某種原因,當我雙擊應用程序時,process.StandardOutput.ReadToEnd()掛起,但是當我從命令提示符執行WPF應用程序時,它很好。
有人有什麼想法嗎?
謝謝。
我相信你在同步ReadToEnd調用上阻塞。您可能需要使用Process.BeginOutputReadLine,因爲它是異步的: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.beginoutputreadline.aspx
已經實現這個沒有成功.... – 2011-06-15 18:20:34
即使異步調用掛起沒有成功的意思嗎?或者意味着它不讀取任何數據? – 2011-06-15 18:35:20
讀取數據,但進程仍然掛起。 – 2011-06-15 20:12:53
您是否以管理員身份運行您的應用程序?如果沒有,它將無法執行MSI。 – 2011-06-14 20:55:57
是的。 msiexec運行良好並退出,但psexec掛起。 – 2011-06-14 21:04:07