У меня есть рабочий стол, который копирует некоторые файлы. После завершения копирования файлов я хочу запустить приложение. Проблема, с которой я сталкиваюсь, заключается в том, что при копировании файлов он вызывает код для запуска приложения, поэтому он запускается в ошибке использования файла. Есть ли проверка, которую я могу сделать, чтобы убедиться, что определенный метод вызывается только тогда, когда фоновый работник завершен?Дождитесь завершения рабочего стола перед вызовом метода
private void LaunchApplication(string targetPath, string targetExecutable)
{
CopyFiles();
Process.Start(Path.Combine(targetPath, targetExecutable));
}
CopyFiles вызывается в методе DoWork для BackGroundWorker. Я хочу, чтобы это было полностью finsih до вызова Process.Start .... Теперь у меня есть несколько исполняемых файлов, привязанных к нескольким кнопкам, поэтому я не могу поместить Process.Start ... в событие RunWorkerCompleted.
Вы использования события [RunWorkerCompleted] (http://msdn.microsoft.com/en-gb/library/system.componentmodel.backgroundworker.runworkercompleted.aspx)? – DGibbs
Вы можете проверить, что файлы были скопированы перед запуском приложения. –
@DGibbs - Да, но проблема в том, что у меня есть несколько приложений, которые могут быть запущены, и я не могу сказать, какой из них есть, пока пользователь не нажмет одну из кнопок запуска. – Xaisoft