private void OnUpdateVersionRequested(object sender, OpenReadCompletedEventArgs e) { if (null == e || e.Error != null) { string errorMessage = "Unspecified error"; if (null != e && (null != e.Error)) { errorMessage = e.Error.Message; } logger.LogError("UpdateManager-OnUpdateVersionRequested", string.Format("Request failure: {0}", errorMessage)); versionCheckInProgress = false; return; } List <string> versionInfo = new List <string>(); using (StreamReader streamReader = new StreamReader(e.Result)) { string line; while (!string.IsNullOrEmpty(line = streamReader.ReadLine())) { versionInfo.Add(line); } } if (versionInfo.Count != 3) { versionCheckInProgress = false; return; } updateInfo = new AppVersionInfo() { Version = BinaryVersion.FromString(versionInfo[0]), VersionInfoURL = versionInfo[1], InstallerURL = versionInfo[2] }; logger.LogInfo("UpdateManager-OnUpdateVersionRequested", string.Format("Product Version: {0} Available Version : {1}", ProductVersion.ToString(), AvailableVersion.ToString())); if (updateInfo.Value.Version <= this.ProductVersion) { versionCheckInProgress = false; return; // Up-to-date, no download required. } DownloadUpdatePackage(updateInfo.Value.InstallerURL, updateInfo.Value.Version); }