static public BaseUtils.GitHubRelease CheckForNewinstaller(bool force = false) { try { BaseUtils.GitHubClass github = new BaseUtils.GitHubClass(EDDiscovery.Properties.Resources.URLGithubDownload); BaseUtils.GitHubRelease rel = github.GetLatestRelease(); if (rel != null) { var currentVersion = System.Reflection.Assembly.GetExecutingAssembly().GetVersionString(); var releaseVersion = rel.ReleaseVersion; Version v1 = new Version(releaseVersion); Version v2 = new Version(currentVersion); if (force || v1.CompareTo(v2) > 0) // Test if newer installer exists: { return(rel); } } } catch (Exception) { } return(null); }
static public Task CheckForNewInstallerAsync(Action <BaseUtils.GitHubRelease> callbackinthread) { return(Task.Factory.StartNew(() => { bool check = true; check = EDDOptions.Instance.CheckRelease; #if DEBUG // for debugging it //callbackinthread?.Invoke(new BaseUtils.GitHubRelease("Test","10.9.1.9","http", "2018-09-25T09:17:02Z", "Test","1.exe","2.msi","portable.zip")); #endif if (check) { BaseUtils.GitHubRelease rel = CheckForNewinstaller(); if (rel != null) { callbackinthread?.Invoke(rel); } } })); }