void DoSetup(object arg) { try { Patcher.Install((string)arg, SetPercent); Dispatcher.Invoke(() => iButtonInstall.IsEnabled = true, DispatcherPriority.Render); } catch (Exception e) { if (!(e is TaskCanceledException || e is ThreadAbortException)) // in case of exit { MessageBox.Show(e.ToString(), Localization.Get("ui_error")); } } }