Простой инсталлер, ожидание завершения процесса - C#
Формулировка задачи:
Всем доброго.
Пишу небольшой инсталлер, из которого надо установить два приложения (оба внешние, лежат в папке с exe-шником программы). Реализовываю выбор через радиобаттоны (первый - оба приложения, второй -первое, третий - второе)
И собственно вопрос - никак не удается реализовать ожидание в первом пункте (установка двух приложений) ожидания завершения установки первого
Все висит на буттонклике:
В общем runApp_1.WaitForExit() не работает. Второй процесс стартует сразу за мессадж боксом.
private void button1_Click(object sender, EventArgs e)
{
//Тут какбы все понятно - переменной myInstaller_1 присваиваем
//имя файла из которого он будет установлен
string myInstaller_1 = "./Soft/MyApp_1.exe";
//Тоже самое для myInstaller_2
string myInstaller_2 = "./Soft/MyApp_2.exe";
//тут мы проверяем - хочет ли пользователь установить MyApp_1 и MyApp_2
if (radioButton1.Checked == true)
{
MessageBox.Show("Ставим MyApp_1!\n");//Для отладки
Process runApp_1 = new System.Diagnostics.Process();
runApp_1.StartInfo.FileName = myInstaller_1;
runApp_1.Start();
runApp_1.WaitForExit();
MessageBox.Show("Ставим MyApp_2!\n");//Для отладки
Process runApp_2 = new System.Diagnostics.Process();
runApp_2.StartInfo.FileName = myInstaller_2;
runApp_2.Start();
}
//Только MyApp_1
if (radioButton2.Checked == true)
{
MessageBox.Show("Ставим MyApp_1!\n");
Process runApp_1 = new System.Diagnostics.Process();
runApp_1.StartInfo.FileName = myInstaller_1;
runApp_1.Start();
}
//Только MyApp_2
if (radioButton3.Checked == true)
{
MessageBox.Show("Ставим Агент!\n");
Process runApp_2 = new System.Diagnostics.Process();
runApp_2.StartInfo.FileName = myInstaller_2;
runApp_2.Start();
}Решение задачи: «Простой инсталлер, ожидание завершения процесса»
textual
Листинг программы
start /wait %*