特定のイベントで別のアプリケーション(ワーカー)を実行するには、アプリケーション(マスター)が必要です。
ワーカーアプリケーションを標準の実行可能ファイルとして配布すれば、すべて問題なく、Process.Startを問題なく使用でき、引数を渡してWaitForExitを呼び出すことができます。
ワーカーアプリケーションをClickOnceアプリケーションとして配布すると、アプリケーションリファレンスが作成されます。これはProcess.Startで開始できます(Master.exeと同じディレクトリにコピーを配置すると)が、引数を渡すことができません。または、WaitForExitを使用します。
両方できるようになりたいです。参照への呼び出しは、Worker実行可能ファイルが実際に実行される別のプロセスを開始すると思われます。
私のコード:
// 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");
私の質問:
これを「適切に」行うにはどうすればよいですか?