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/tech/pnotes/273278.html