C# 更新 CheckForUpdates


 public void CheckForUpdates()
        {
                Dispatcher.Invoke(() =>
                {
                    try
                    {
                        DLUpdate = new WebClient();
                        JsonDownload = new WebClient();
                        string actualVersion =
                            Convert.ToString(System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
                        string link = DLUpdate.DownloadString("http://pastebin.com/raw.php?i=bfs0Jdci");
                        string newVersion = DLUpdate.DownloadString(link + "WebExpress/update.txt");
                        DLUpdate.DownloadFileCompleted += DLUpdate_DownloadFileCompleted;

                        var version1 = new Version(actualVersion);
                        var version2 = new Version(newVersion);

                        var result = version1.CompareTo(version2);
                        if (result > 0)
                            Console.WriteLine("version1 is greater");
                        else if (result < 0)
                        {
                            JsonDownload.DownloadFileAsync(
                                new Uri(link + "WebExpress/files.json"), "files.json");
                            this.Hide();

                            DLUpdate.DownloadFileAsync(new Uri(link + "WebExpress/Update.exe"),
                                "Update.exe");
                        }
                        else
                            Console.WriteLine("versions are equal");
                        return;
                    }
                    catch(Exception ex)
                    {
                        
                    }
                });
            
            }

 

  private void DLUpdate_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            try
            {
                if (File.Exists("Update.exe"))
                {
                    Process.Start("Update.exe");
                    Application.Current.Shutdown();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Update open: " + ex.Message);
            }
        }

  

原创文章,作者:dweifng,如若转载,请注明出处:https://blog.ytso.com/273278.html

(0)
上一篇 2022年7月10日
下一篇 2022年7月10日

相关推荐

发表回复

登录后才能评论