Example #1
0
        private void Wc_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            ZipExtract ex = new ZipExtract();

            ex.Extract("AutoIT.zip");
            Execute.Start();
        }
Example #2
0
        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);
        }