Fix VRCX auto updater

This commit is contained in:
Natsumi
2024-06-18 22:17:21 +12:00
parent bfe6d9b3fb
commit 73a9803abd
3 changed files with 22 additions and 13 deletions

View File

@@ -202,11 +202,17 @@ namespace VRCX
/// </summary>
public void RestartApplication()
{
var VRCXProcess = new Process();
VRCXProcess.StartInfo.FileName = Path.Combine(Program.BaseDirectory, "VRCX.exe");
VRCXProcess.StartInfo.UseShellExecute = false;
VRCXProcess.StartInfo.Arguments = "/Upgrade";
VRCXProcess.Start();
var vrcxProcess = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = Path.Combine(Program.BaseDirectory, "VRCX.exe"),
Arguments = "/Upgrade",
UseShellExecute = true,
WorkingDirectory = Program.BaseDirectory
}
};
vrcxProcess.Start();
Environment.Exit(0);
}

View File

@@ -22,12 +22,15 @@ namespace VRCX
{
var args = Environment.GetCommandLineArgs();
processList = Process.GetProcessesByName("VRCX");
Debug.Assert(Program.LaunchDebug = true);
var isDebug = false;
Debug.Assert(isDebug = true);
var disableClosing = false;
foreach (var arg in args)
{
if (arg == "/Upgrade")
disableClosing = true;
if (arg.Length > 12 && arg.Substring(0, 12) == "/uri=vrcx://")
LaunchCommand = arg.Substring(12);
@@ -42,15 +45,15 @@ namespace VRCX
Program.AppDataDirectory = filePath;
}
if ((arg.Length >= 7 && arg.Substring(0, 7) == "--debug") || isDebug)
if (arg.Length >= 7 && arg.Substring(0, 7) == "--debug")
Program.LaunchDebug = true;
}
if (!string.IsNullOrEmpty(Program.AppDataDirectory))
return; // we're launching with a custom config path, allow it
disableClosing = true; // we're launching with a custom config path, allow it
// if we're launching a second instance, focus the first instance then exit
if (processList.Length > 1)
if (!disableClosing && processList.Length > 1)
{
IPCToMain();
Environment.Exit(0);

View File

@@ -37,7 +37,7 @@ namespace VRCX
try
{
File.Move(Update_Executable, VRCX_Setup_Executable);
var VRCXProcess = new Process
var vrcxProcess = new Process
{
StartInfo = new ProcessStartInfo
{
@@ -47,7 +47,7 @@ namespace VRCX
WorkingDirectory = Program.AppDataDirectory
}
};
VRCXProcess.Start();
vrcxProcess.Start();
Environment.Exit(0);
}
catch (Exception e)