全部——</p>
我需要通过自定义操作静默执行多项任务。从本质上讲,我需要安装和许可第 3 方应用程序后,我已经放下了自己的位:
- 我将我的位安装到应用程序文件夹中
- 我启动了一个自定义操作以通过 FooSetup.exe 安装第 3 方应用程序
- 我启动了另一个自定义操作,以通过步骤 2 中安装的 FooLicense.exe 许可第三方应用程序。
在安装程序的提交阶段,我触发此代码以启动 3rd 方应用程序的静默设置:
[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 实际完成,我才能开始“第 3 阶段”(许可第三方应用程序)。
处理这种情况的最佳做法是什么?我猜我将不得不在 myProcess 上设置一个事件处理程序来监视 fooSetup.exe 的退出?(我已经验证 FooSetup.exe 在静默模式下确实退出了完成后)
有什么例子吗?我是一名商业智能人员,而不是一名 C# 骑师,因此您将我推向任何示例/指针将不胜感激。