インストーラーを起動し、インストーラーが戻るのを待ってから他の作業を続行するc#コードを書いています。
インストールが実際に完了する前に元のプロセスが戻って他のプロセスを生成する特定のインストーラーに問題があります。すべてのプロセスが終了するまで待つことができる方法はありますか?
これが私が問題を抱えているシナリオを明確にするために:
- Installer1を起動します
- Installer1は別のインストーラーを生成/起動します(Installer2)
- インストーラー1が返されます
- アプリケーションはインストールが終了したと見なしますが、Installer2はまだ実行中です。これにより、アプリのワークフローに問題が発生します。
現在使用しているコードは次のとおりです。
// launch installer
Process process = windowsApplicationLauncher.LaunchApplication(_localFilePath);
// wait for process to return
do
{
if (!process.HasExited)
{
}
}
while (!process.WaitForExit(1000));
if (process.ExitCode == 0)
{
_fileService.MoveFile(_localFilePath, _postInstallFilePath);
_notification.SetComplete(false);
return true;
}
return false;