Есть следующий код запуска приложения Application2 из текущего Application1:
private void ButtonStart_Click(object sender, RoutedEventArgs e)
{
string file = Path.Combine("путь до папки приложения", "program.bin");
if (!File.Exists(file))
return;
var processStartInfo = new ProcessStartInfo
{
FileName = file,
UseShellExecute = false
};
Process.Start(processStartInfo);
}
На некоторых компьютерах либо постоянно, либо периодически, при попытке запуска приложения Application2 из Application1, последнее закрывается с "непредвиденное завершение программы" или что-то в этом роде.
Вопрос: что не так в этом коде и есть ли более правильные способы запуска другого приложения *.exe(bin)?
Проблема была решена после помещения кода запуска приложения в try/catch конструкцию. По крайней мере основное приложение больше не валится с непонятной ошибкой, а запускаемое вызывает системное исключение, которое после было отловлено через sxstrace.exe из журнала событий.
try
{
var processStartInfo = new ProcessStartInfo
{
FileName = file,
UseShellExecute = false
};
Process.Start(processStartInfo);
}
catch (Exception)
{
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей