Add restart to Linux restore backup function

pull/6443/head
2dust 2025-01-04 17:03:12 +08:00
parent 9583dff176
commit bc2adbfa77
4 changed files with 14 additions and 7 deletions

View File

@ -517,10 +517,10 @@ namespace ServiceLib.Common
#region 杂项 #region 杂项
public static bool UpgradeAppExists(out string fileName) public static bool UpgradeAppExists(out string upgradeFileName)
{ {
fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GetExeName("AmazTool")); upgradeFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GetExeName("AmazTool"));
return File.Exists(fileName); return File.Exists(upgradeFileName);
} }
/// <summary> /// <summary>

View File

@ -32,9 +32,9 @@ namespace ServiceLib.Handler
{ {
if (it.CoreType == ECoreType.v2rayN) if (it.CoreType == ECoreType.v2rayN)
{ {
if (Utils.UpgradeAppExists(out var fileName)) if (Utils.UpgradeAppExists(out var upgradeFileName))
{ {
await Utils.SetLinuxChmod(fileName); await Utils.SetLinuxChmod(upgradeFileName);
} }
continue; continue;
} }

View File

@ -147,6 +147,13 @@ namespace ServiceLib.ViewModels
{ {
ProcUtils.RebootAsAdmin(false); ProcUtils.RebootAsAdmin(false);
} }
else
{
if (Utils.UpgradeAppExists(out var upgradeFileName))
{
ProcUtils.ProcessStart(upgradeFileName, Global.RebootAs, Utils.StartupPath());
}
}
service?.Shutdown(); service?.Shutdown();
} }
else else

View File

@ -310,14 +310,14 @@ namespace ServiceLib.ViewModels
public async Task UpgradeApp(string arg) public async Task UpgradeApp(string arg)
{ {
if (!Utils.UpgradeAppExists(out var fileName)) if (!Utils.UpgradeAppExists(out var upgradeFileName))
{ {
NoticeHandler.Instance.SendMessageAndEnqueue(ResUI.UpgradeAppNotExistTip); NoticeHandler.Instance.SendMessageAndEnqueue(ResUI.UpgradeAppNotExistTip);
Logging.SaveLog("UpgradeApp does not exist"); Logging.SaveLog("UpgradeApp does not exist");
return; return;
} }
var id = ProcUtils.ProcessStart(fileName, arg, Utils.StartupPath()); var id = ProcUtils.ProcessStart(upgradeFileName, arg, Utils.StartupPath());
if (id > 0) if (id > 0)
{ {
await MyAppExitAsync(false); await MyAppExitAsync(false);