private void Wc_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) { ZipExtract ex = new ZipExtract(); ex.Extract("AutoIT.zip"); Execute.Start(); }
private void UpdateBot_Click(object sender, RoutedEventArgs e) { if (Worker.IsRunning) { StartBot_Click(sender, e); } BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += (o, ev) => { var version = "v0.0"; if (File.Exists("MyBot.run.version.au3")) { var au3 = File.ReadAllText("MyBot.run.version.au3"); version = Regex.Match(au3, "\\$g_sBotVersion = \"(.+)\"").Groups[0].Value.Replace("$g_sBotVersion =", "").Replace("\"", "").Trim().Split(' ')[0]; } var wc = new WebClient(); wc.Headers.Add("User-Agent", "MyBot.Supporter.UpdateChecker"); var api = JsonConvert.DeserializeObject <GithubAPI>(wc.DownloadString("https://api.github.com/repos/MyBotRun/MyBot/releases/latest")); var apiver = api.TagName.Replace("MBR_", ""); var compare = string.Compare(version, apiver, true); if (compare < 0) { MessageBox.Show("Start downloading latest version..."); wc.Headers.Add("User-Agent", "MyBot.Supporter.UpdateChecker"); wc.DownloadFile(api.Assets[0].BrowserDownloadUrl, api.Assets[0].Name); ZipExtract ex = new ZipExtract(); ex.Extract(api.Assets[0].Name); MessageBox.Show("Job done!"); } else if (compare > 0) { MessageBox.Show("You are using future version of MyBot!"); } else { MessageBox.Show("You are using latest version of MyBot!"); } wc.Dispose(); }; var frame = new DispatcherFrame(); worker.RunWorkerCompleted += (s2, args) => { frame.Continue = false; }; worker.RunWorkerAsync(); Dispatcher.PushFrame(frame); }