Пример #1
0
        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);
        }
Пример #2
0
        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);
                    }
                }
            }));
        }