private void Downloader(string _URL, string _SaveAs) { MsgAdd("Запускаю скачивание..."); ProgressBarMainForm.PerformStep(); Thread.Sleep(1000); WebClient myWebClient = new WebClient(); string downloadFileName = System.IO.Path.GetFileName(_URL); try { myWebClient.DownloadFile(_URL, "_" + downloadFileName); while (myWebClient.IsBusy) { Application.DoEvents(); } } catch (System.Exception exc) { MsgAdd(exc.Message); Log.ExcWrite("[StartUpdate] " + exc.Message); Log.log_write("Произошло исключение.Записан статус обновления 0", "[StartUpdate]", "Exception"); Config.Set("SETTINGS", "UpdateStatus", "0"); Application.Exit(); } finally { ProgressBarMainForm.PerformStep(); Copy(downloadFileName); } }
private void StartUpdate() { ProgressBarMainForm.PerformStep(); Thread.Sleep(1000); try { string source = GetSourceProgramUpdate(); if (source != null) { Downloader(source, "%TEMP%"); } else { throw new Exception("ВНИМАНИЕ! Путь к обновлению не задан на сервере"); } } catch (System.Exception ex) { MsgAdd(ex.Message); Log.ExcWrite("[StartUpdate] " + ex.Message); Log.log_write("Произошло исключение.Записан статус обновления 0", "[StartUpdate]", "Exception"); Config.Set("SETTINGS", "UpdateStatus", "0"); Application.Exit(); } }
private void Update_Shown(object sender, EventArgs e) { Thread th = new Thread(delegate() { MsgAdd("Приложение обновления запущено."); ProgressBarMainForm.PerformStep(); Thread.Sleep(1000); int version = GetVersionProgram(); MsgAdd("Версия на сервере " + version + " ."); if (version == 0) { MsgAdd("Внимание не удалось получить версию обновления на сервере.Записан статус 0.Выход через 10 секунд..."); Config.Set("SETTINGS", "UpdateStatus", "0"); Thread.Sleep(5000); MsgAdd("Выход через 5 секунд..."); Application.Exit(); } StartUpdate(); });; th.Name = "Main thread start"; th.Start(); }
private void StartUpdate() { ProgressBarMainForm.PerformStep(); Thread.Sleep(1000); try { string source = GetSourceProgramUpdate(); if (source != null) { Downloader(source, "%TEMP%"); } else { throw new Exception("ВНИМАНИЕ! Путь к обновлению не задан на сервере"); } } catch (System.Exception ex) { this.BackColor = Color.Red; MsgAdd("[StartUpdate] " + ex.Message); Config.Set("SETTINGS", "UpdateStatus", "0"); Application.Exit(); } }
private void Downloader(string _URL, string _SaveAs) { bool s = true; MsgAdd("Запускаю скачивание..."); ProgressBarMainForm.PerformStep(); Thread.Sleep(1000); WebClient myWebClient = new WebClient(); string downloadFileName = System.IO.Path.GetFileName(_URL); try { myWebClient.DownloadFile(_URL, "_" + downloadFileName); while (myWebClient.IsBusy) { Application.DoEvents(); } } catch (System.Exception exc) { s = false; this.BackColor = Color.Red; MsgAdd(exc.Message); MsgAdd("[Downloader] Произошло исключение.Записан статус обновления 0"); Log.ExcWrite("[Downloader] " + exc.Message); Config.Set("SETTINGS", "UpdateStatus", "0"); MsgAdd("Неудачно!"); Thread.Sleep(10000); Application.Exit(); } if (s) { ProgressBarMainForm.PerformStep(); Copy(downloadFileName); } }
private void Update_Shown(object sender, EventArgs e) { Thread th = new Thread(delegate() { MsgAdd("Приложение обновления запущено."); ProgressBarMainForm.PerformStep(); Thread.Sleep(1000); MsgAdd("Версия на сервере " + GetVersionProgram() + "."); StartUpdate(); });; th.Name = "Main thread start"; th.Start(); }
private void Copy(string name) { try { MsgAdd("Копирую..."); ProgressBarMainForm.PerformStep(); while (File.Exists(name)) { if (File.Exists("backup_" + name)) { File.Delete("backup_" + name); Thread.Sleep(1000); } Log.log_write("Делаем копию файла", "INFO", "update"); MsgAdd("Делаем копию файла"); File.Move(name, "backup_" + name); Thread.Sleep(1000); Log.log_write("Удаляем оригинальный файл", "INFO", "update"); MsgAdd("Удаляем оригинальный файл"); File.Delete(name); Thread.Sleep(1000); } ProgressBarMainForm.PerformStep(); if (File.Exists("_" + name)) { File.Copy("_" + name, name); Thread.Sleep(1000); } if (File.Exists(name)) { Log.log_write("Запускаем обновленное приложение", "INFO", "update"); MsgAdd("Запускаем обновленное приложение"); Thread.Sleep(1000); System.Diagnostics.Process.Start(name); Config.Set("SETTINGS", "UpdateStatus", "1"); if (File.Exists("_" + name)) { File.Delete("_" + name); Log.log_write("Удаляем временный файл", "INFO", "update"); } Log.log_write("Выходим из утилиты обновления", "INFO", "update"); Application.Exit(); } else { Log.ExcWrite("[Copy] Произошло исключение."); //check this RevertUpdate(name); } } catch (System.Exception exс) { Log.ExcWrite("[Copy] " + exс.Message); status = false; Config.Set("SETTINGS", "UpdateStatus", "0"); } finally { if (status) { Thread.Sleep(800); Log.log_write("Успешно!", "INFO", "update"); ProgressBarMainForm.Value = 100; Thread.Sleep(4000); Application.Exit(); } } }