public void checkForNewVersion(UpdateCheckerCallback callback) { Version local = Assembly.GetAssembly(GetType()).GetName().Version; LyricsReloaded lr = this; Thread updateChecker = new Thread(() => { WebClient cl = new WebClient(lr, 5000); try { bool result = false; WebResponse respone = cl.get("https://raw.githubusercontent.com/mbfrankz/LyricsReloaded/stable/LyricsReloaded/Properties/AssemblyInfo.cs"); if (respone != null) { String content = respone.getContent(); if (!String.IsNullOrWhiteSpace(content)) { Regex versionRegex = new Regex("AssemblyVersion\\(\"(?<version>[^\\s\\*]+)\"\\)", RegexOptions.Compiled | RegexOptions.Singleline); Match match = versionRegex.Match(content); if (match.Success) { Version remote = Version.Parse(match.Groups["version"].Value); result = remote.CompareTo(local) > 0; } } } callback(result); } catch (Exception e) { lr.logger.error("Failed to check for updates: {0}", e.Message); } }) { IsBackground = true, Name = "LyricsReloaded - Version Check" }; updateChecker.Start(); }
public void checkForNewVersion(UpdateCheckerCallback callback) { Version local = Assembly.GetAssembly(GetType()).GetName().Version; LyricsReloaded lr = this; Thread updateChecker = new Thread(() => { WebClient cl = new WebClient(lr, 5000); try { bool result = false; WebResponse respone = cl.get("https://raw.githubusercontent.com/pschichtel/LyricsReloaded/stable/LyricsReloaded/Properties/AssemblyInfo.cs"); if (respone != null) { String content = respone.getContent(); if (!String.IsNullOrWhiteSpace(content)) { Regex versionRegex = new Regex("AssemblyVersion\\(\"(?<version>[^\\s\\*]+)\"\\)", RegexOptions.Compiled | RegexOptions.Singleline); Match match = versionRegex.Match(content); if (match.Success) { Version remote = Version.Parse(match.Groups["version"].Value); result = remote.CompareTo(local) > 0; } } } callback(result); } catch (Exception e) { lr.logger.error("Failed to check for updates: {0}", e.Message); } }) { IsBackground = true, Name = "LyricsReloaded - Version Check" }; updateChecker.Start(); }