From 9f3b128044d51982427f299979c391814de17073 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 06:30:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=87=8D=E5=86=99=20v2rayUpg?= =?UTF-8?q?rade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 不再强制传入参数。用户还可利用此工具“重装”软件。 直接使用已有文件 先启动再提示成功 升级成功后自动退出 --- v2rayN/v2rayUpgrade/MainForm.Designer.cs | 5 +- v2rayN/v2rayUpgrade/MainForm.cs | 63 +++++++------------ v2rayN/v2rayUpgrade/Program.cs | 6 -- .../v2rayUpgrade/Properties/AssemblyInfo.cs | 6 +- 4 files changed, 28 insertions(+), 52 deletions(-) diff --git a/v2rayN/v2rayUpgrade/MainForm.Designer.cs b/v2rayN/v2rayUpgrade/MainForm.Designer.cs index f212a9a9..b9f9ad18 100644 --- a/v2rayN/v2rayUpgrade/MainForm.Designer.cs +++ b/v2rayN/v2rayUpgrade/MainForm.Designer.cs @@ -41,7 +41,7 @@ this.btnClose.Location = new System.Drawing.Point(367, 118); this.btnClose.Name = "btnClose"; this.btnClose.Size = new System.Drawing.Size(184, 89); - this.btnClose.TabIndex = 6; + this.btnClose.TabIndex = 1; this.btnClose.Text = "&Exit(退出)"; this.btnClose.UseVisualStyleBackColor = true; this.btnClose.Click += new System.EventHandler(this.btnClose_Click); @@ -52,7 +52,7 @@ this.btnOK.Location = new System.Drawing.Point(81, 118); this.btnOK.Name = "btnOK"; this.btnOK.Size = new System.Drawing.Size(184, 89); - this.btnOK.TabIndex = 7; + this.btnOK.TabIndex = 0; this.btnOK.Text = "&Upgrade(升级)"; this.btnOK.UseVisualStyleBackColor = true; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); @@ -89,7 +89,6 @@ this.Name = "MainForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "v2rayUpgrade"; - this.Load += new System.EventHandler(this.MainForm_Load); this.ResumeLayout(false); this.PerformLayout(); diff --git a/v2rayN/v2rayUpgrade/MainForm.cs b/v2rayN/v2rayUpgrade/MainForm.cs index 1bc22b7f..41990f42 100644 --- a/v2rayN/v2rayUpgrade/MainForm.cs +++ b/v2rayN/v2rayUpgrade/MainForm.cs @@ -8,28 +8,24 @@ namespace v2rayUpgrade { public partial class MainForm : Form { - private string[] _args; - private string _tempFileName = "v2rayUpgradeTemp.zip"; - + private readonly string defaultFilename = "v2ray-windows.zip"; + private string fileName; public MainForm(string[] args) { InitializeComponent(); - _args = args; + if (args.Length > 0) + { + fileName = args[0]; + } } - - private void MainForm_Load(object sender, EventArgs e) + private void showWarn(string message) { - + MessageBox.Show(message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } private void btnOK_Click(object sender, EventArgs e) { - if (_args.Length <= 0) - { - return; - } - try { Process[] existing = Process.GetProcessesByName("v2rayN"); @@ -45,19 +41,24 @@ namespace v2rayUpgrade } catch (Exception ex) { - MessageBox.Show("Failed to close v2rayN(关闭v2rayN失败)." + ex.StackTrace); + showWarn("Failed to close v2rayN(关闭v2rayN失败)." + ex.StackTrace); return; } - string fileName = GetPath(_tempFileName); try { - File.Delete(fileName); - File.Copy(_args[0], fileName); + if (!File.Exists(fileName)) { - MessageBox.Show("Upgrade Failed, File Not Exist(升级失败,文件不存在)."); - return; + if (File.Exists(defaultFilename)) + { + fileName = defaultFilename; + } + else + { + showWarn("Upgrade Failed, File Not Exist(升级失败,文件不存在)."); + return; + } } string startKey = "v2rayN/"; @@ -86,23 +87,13 @@ namespace v2rayUpgrade } catch (Exception ex) { - MessageBox.Show("Upgrade Failed(升级失败)." + ex.StackTrace); + showWarn("Upgrade Failed(升级失败)." + ex.StackTrace); return; } - finally - { - File.Delete(fileName); - } - MessageBox.Show("Upgrade successed(升级成功)"); + Process.Start("v2rayN.exe"); + MessageBox.Show("Upgrade successed(升级成功)", "", MessageBoxButtons.OK, MessageBoxIcon.Information); - try - { - Process.Start("v2rayN.exe"); - } - catch - { - } Close(); } @@ -118,15 +109,7 @@ namespace v2rayUpgrade public static string StartupPath() { - try - { - string exePath = GetExePath(); - return exePath.Substring(0, exePath.LastIndexOf("\\", StringComparison.Ordinal)); - } - catch - { - return Application.StartupPath; - } + return Application.StartupPath; } public static string GetPath(string fileName) { diff --git a/v2rayN/v2rayUpgrade/Program.cs b/v2rayN/v2rayUpgrade/Program.cs index c7971134..f35e72a4 100644 --- a/v2rayN/v2rayUpgrade/Program.cs +++ b/v2rayN/v2rayUpgrade/Program.cs @@ -11,12 +11,6 @@ namespace v2rayUpgrade [STAThread] static void Main(string[] args) { - if (args.Length <= 0) - { - MessageBox.Show("Please use v2rayN to upgrade(请用v2rayN升级)"); - return; - } - Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm(args)); diff --git a/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs b/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs index 654bd7b5..0bef4a23 100644 --- a/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs +++ b/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs @@ -9,7 +9,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("v2rayUpgrade")] -[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 方法是按如下所示使用“*”: : // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.1.0.0")] +[assembly: AssemblyFileVersion("1.1.0.0")]