我需要我的应用程序(master)在特定事件上运行另一个应用程序(worker)。
如果我将我的工作应用程序作为标准的可执行文件分发,那么一切都很好,我可以使用进程。从没有问题开始,愉快地传递参数并调用waitforexit。
如果我将工作应用程序作为ClickOnce应用程序分发,它将创建一个应用程序引用,我将
可以
从process.start开始(一旦我将它的副本放在master.exe所在的目录中),但我不能传递它参数或使用waitforexit。
我想两者兼得。我怀疑对引用的调用会启动另一个进程,工作程序可执行文件实际运行在该进程中。
我的代码:
// This works as I expect, and returns a valid Process.
Process p0 = Process.Start("Worker.exe", "DoSomeMagic");
// This seems to work, but returns null.
Process p1 = Process.Start("Worker.appref-ms");
// This also returns null, but does not pass the argument to Worker.
Process p2 = Process.Start("Worker.appref-ms", "DoSomeMagic");
我的问题:
我该如何“正确”地做到这一点?