private void _DownloadStringCompletedHandler(object sender, DownloadStringCompletedEventArgs e) { _webClient.DownloadStringCompleted -= _DownloadStringCompletedHandler; _CloseWebClient(); if (e.Error == null) { try { var updateInfoObject = JsonConvert.DeserializeObject <UpdateInfoObject>(e.Result); var version = LauncherVersion.Parse(updateInfoObject.Version); var currentVersion = _versionService.GetAssemblyVersion(); if (version.AssemblyVersion <= currentVersion) { return; } var acceptUpdate = UpdateAvailableResolver.Invoke(version); if (!acceptUpdate) { return; } InDownloadStage = true; _BeginDownload(updateInfoObject); } catch (Exception ex) { _RaiseError(ex.Message); } } else { _RaiseError(e.Error.Message); } }