public static void CloseApplication() { OperProcess op = new OperProcess(); //启动进程 op.StartProcess(); }
void InitCheckUpdate() { #region check and download new version program bool bHasError = false; IAutoUpdater autoUpdater = new KnightsWarriorAutoupdater.AutoUpdater(); try { autoUpdater.Update(); } catch (WebException exp) { MessageBox.Show("服务器连接失败"); bHasError = true; } catch (XmlException exp) { bHasError = true; MessageBox.Show("下载更新文件错误"); } catch (NotSupportedException exp) { bHasError = true; MessageBox.Show("升级文件配置错误"); } catch (ArgumentException exp) { bHasError = true; MessageBox.Show("下载升级文件错误"); } catch (Exception exp) { bHasError = true; MessageBox.Show("更新过程中出现错误"); } finally { if (bHasError == true) { try { autoUpdater.RollBack(); } catch (Exception) { //Log the message to your file or database } } OperProcess op = new OperProcess(); //启动进程 op.StartProcess(); // this.Close(); } #endregion }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); AutoUpdater au = new AutoUpdater(); try { au.Update(); } catch (WebException exp) { MessageBox.Show(String.Format("无法找到指定资源\n\n{0}", exp.Message), "自动升级", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (XmlException exp) { MessageBox.Show(String.Format("下载的升级文件有错误\n\n{0}", exp.Message), "自动升级", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (NotSupportedException exp) { MessageBox.Show(String.Format("升级地址配置错误\n\n{0}", exp.Message), "自动升级", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ArgumentException exp) { MessageBox.Show(String.Format("下载的升级文件有错误\n\n{0}", exp.Message), "自动升级", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception exp) { MessageBox.Show(String.Format("升级过程中发生错误\n\n{0}", exp.Message), "自动升级", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { OperProcess oper = new OperProcess(); Config config = Config.LoadConfig(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, FILENAME)); //如果用户点击过更新但是没有更新完,则强制用户继续更新 if (config.IsUpdate) { Application.Exit(); } else { oper.StartProcess(); } } }
void InitCheckUpdate() { #region check and download new version program bool bHasError = false; IAutoUpdater autoUpdater = new Autoupdater.AutoUpdater(); try { autoUpdater.CheckUpdate(); if (autoUpdater.HasUpdate) { DialogResult result = MessageBox.Show("发现有新版本!确定要更新吗?如选择更新,将关闭此程序,请自行重启!", "新版本提醒", MessageBoxButtons.OKCancel); if (result == System.Windows.Forms.DialogResult.OK) { //杀死进程 System.Diagnostics.Process[] process1 = System.Diagnostics.Process.GetProcessesByName("DEncryptTool"); foreach (var process in process1) { process.Kill(); } System.Diagnostics.Process[] process2 = System.Diagnostics.Process.GetProcessesByName("Codematic"); foreach (var process in process2) { process.Kill(); } System.Diagnostics.Process[] process3 = System.Diagnostics.Process.GetProcessesByName("StartCodematic"); foreach (var process in process3) { process.Kill(); } //执行更新 autoUpdater.StartUpdate(); } } } catch (WebException exp) { MessageBox.Show("服务器连接失败"); bHasError = true; } catch (XmlException exp) { bHasError = true; MessageBox.Show("下载更新文件错误"); } catch (NotSupportedException exp) { bHasError = true; MessageBox.Show("升级文件配置错误"); } catch (ArgumentException exp) { bHasError = true; MessageBox.Show("下载升级文件错误"); } catch (Exception exp) { bHasError = true; MessageBox.Show("更新过程中出现错误"); } finally { if (bHasError == true) { try { autoUpdater.RollBack(); } catch (Exception) { //Log the message to your file or database } } OperProcess op = new OperProcess(); //启动进程 op.StartProcess(); // this.Close(); } #endregion }