private async Task <string> SquirrelUpdate(bool showInfo) { try { using (UpdateManager _manager = new UpdateManager(ConfigurationManager.AppSettings["CurrentReleaseURL"])) { UpdateInfo _update = await _manager.CheckForUpdate(); if (_update.ReleasesToApply.Any()) { Version _newVersion = _update.ReleasesToApply.OrderByDescending(r => r.Version).First().Version.Version; Update _updateWindow = new Update(); _updateWindow.Show(); await _manager.UpdateApp((p) => _updateWindow.SetProgress(p)); _updateWindow.Close(); return(Utilities.Paths.Exe(_newVersion)); } else if (showInfo) { MessageBox.Show(Framework.Resources.UpdateSuccessText, Framework.Resources.AppName, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); } } } catch (WebException webException) { if (showInfo) { MessageBox.Show(Framework.Resources.UpdateErrorText, Framework.Resources.UpdateErrorTitle, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); } BacktraceLogger.Log(new Backtrace.Model.BacktraceReport(webException)); } catch (Exception e) { BacktraceLogger.Log(new Backtrace.Model.BacktraceReport(e)); Framework.Settings.Instance.AutoUpdate = false; Framework.Settings.Instance.Save(); using (EventLog _log = new EventLog("Application")) { _log.Source = Framework.Resources.AppName; _log.WriteEntry(e.ToString(), EventLogEntryType.Error, 100, 1); } MessageBox.Show(Framework.Resources.UpdateErrorFatalText, Framework.Resources.UpdateErrorTitle, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); } return(null); }
private async Task <string> SquirrelUpdate(bool showInfo) { try { using (UpdateManager _manager = new UpdateManager(ConfigurationManager.AppSettings["CurrentReleaseURL"])) { UpdateInfo _update = await _manager.CheckForUpdate(); if (_update.ReleasesToApply.Any()) { Version _newVersion = _update.ReleasesToApply.OrderByDescending(r => r.Version).First().Version.Version; Update _updateWindow = new Update(); _updateWindow.Show(); await _manager.UpdateApp((p) => _updateWindow.SetProgress(p)); _updateWindow.Close(); return(Utilities.Paths.Exe(_newVersion)); } else if (showInfo) { MessageBox.Show(Constants.Generic.UPDATEMSG, Framework.Resources.AppName, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); } } } catch (WebException) { if (showInfo) { MessageBox.Show(Constants.Generic.UPDATEERROR, Constants.Generic.UPDATEERRORTITLE, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); } } catch (Exception) { Framework.Settings.Instance.AutoUpdate = false; Framework.Settings.Instance.Save(); MessageBox.Show(Constants.Generic.UPDATEFATAL, Constants.Generic.ERRORTITLE, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); } return(null); }