Browse Source

优化重写 v2rayUpgrade

不再强制传入参数。用户还可利用此工具“重装”软件。
直接使用已有文件
先启动再提示成功
升级成功后自动退出
pull/543/head
YFdyh000 5 years ago
parent
commit
9f3b128044
  1. 5
      v2rayN/v2rayUpgrade/MainForm.Designer.cs
  2. 63
      v2rayN/v2rayUpgrade/MainForm.cs
  3. 6
      v2rayN/v2rayUpgrade/Program.cs
  4. 6
      v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs

5
v2rayN/v2rayUpgrade/MainForm.Designer.cs generated

@ -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();

63
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)
{

6
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));

6
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")]

Loading…
Cancel
Save