Example #1
0
        public void Process()
        {
            progressBar1.Visible = true;
            progressBar1.Style   = ProgressBarStyle.Marquee;

            AppendDescString("проверка обновлений");
            AppendDownloadString("");

            string response = Api.Builder <string>().CreateRequest(Api.GetUri("api-update-check")).GetResponse().First();

            if (IX.Composer.Architecture.Version.TryParse(response, out var remote))
            {
                if (IX.Composer.Architecture.Version.TryParse(SettingsViewer.Read("version"), out var local))
                {
                    if (local.ToString() == remote.ToString())
                    {
                        System.Diagnostics.Process.Start("Ignite.exe");
                        Environment.Exit(0);
                    }
                    else if (local < remote)
                    {
                        if (File.Exists("Ignite.exe"))
                        {
                            File.Delete("Ignite.exe");
                        }

                        WebObj.DownloadFileCompleted   += WebObj_DownloadFileCompleted;
                        WebObj.DownloadProgressChanged += WebObj_DownloadProgressChanged;

                        var update = Api.Builder <UpdateInfo>().CreateRequest(Api.BuildUri("api-update-get", response)).GetResponse().First();

                        RemoteVersion = update.Version;
                        WebObj.DownloadFileAsync(new Uri(update.Link), "data.rar");
                    }
                }
            }
        }