【问题标题】:Different behavior with running psexec from WPF app when executing from command line vs. double-click从命令行执行与双击时从 WPF 应用程序运行 psexec 的不同行为
【发布时间】:2011-06-14 20:52:18
【问题描述】:

我正在使用 process.Start 来执行远程执行 msi 的 psexec。

由于某种原因,当我双击应用程序时 process.StandardOutput.ReadToEnd() 挂起,但是当我从命令提示符处执行 WPF 应用程序时它很好。

有人有什么想法吗?

谢谢。

【问题讨论】:

  • 您是否以管理员身份运行您的应用程序?否则,它将无法执行 MSI。
  • 是的。 msiexec 运行良好并退出,但 psexec 挂起。

标签: c# wpf process cmd psexec


【解决方案1】:

我相信您正在阻止同步 ReadToEnd 调用。您可能想改用 Process.BeginOutputReadLine 因为它是异步的: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.beginoutputreadline.aspx

【讨论】:

  • 没有成功意味着即使异步调用挂起?或者意味着它不读取任何数据?
  • 读取数据,但进程仍然挂起。
猜你喜欢
  • 2014-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 2015-11-03
  • 2011-02-24
  • 2011-02-06
相关资源
最近更新 更多