监控自定义操作中的进程出口



全部–

我需要通过自定义操作安静地执行几个任务。从本质上讲,在我放下自己的部分后,我需要安装并许可第三方应用程序:

  1. 我将我的位安装到应用程序文件夹中
  2. 我通过FooSetup.exe启动自定义操作来安装第三方应用程序
  3. 我通过FooLicense.exe启动另一个自定义操作来许可第三方应用程序,该操作在步骤2中安装

在安装程序的提交阶段,我启动此代码以启动第三方应用程序的静默设置:

[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.Arguments = "/verysilent";
startInfo.FileName = Context.Parameters["TARGETDIR"].ToString() + "fooSetup.exe";
Process myProcess = System.Diagnostics.Process.Start(startInfo);
}

它运行良好——然而,在fooSetup.exe真正完成之前,我无法开始"第三阶段"(许可第三方应用程序)。

处理这种情况的最佳实践是什么?我猜我将不得不在myProcess上设置一个事件处理程序来监视fooSetup.exe的退出?(我已经验证了FooSetup.exe在静默模式下确实会在完成后退出)

有什么例子吗?我是一个商业情报专家,而不是一个C#骑师,所以如果你能给我推荐任何样本/建议,我将不胜感激。

我想Process.WaitForExit()就是您想要的。http://msdn.microsoft.com/en-us/library/fb4aw7b8.aspx

相关内容

  • 没有找到相关文章

最新更新