From a55a0be6bb7b161986800178066b7708eb0b409a Mon Sep 17 00:00:00 2001 From: bluepilledgreat <97983689+bluepilledgreat@users.noreply.github.com> Date: Sat, 28 Dec 2024 15:59:43 +0000 Subject: [PATCH] kill roblox players on upgrade no matter what --- Bloxstrap/Bootstrapper.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Bloxstrap/Bootstrapper.cs b/Bloxstrap/Bootstrapper.cs index c929ffa..39dab82 100644 --- a/Bloxstrap/Bootstrapper.cs +++ b/Bloxstrap/Bootstrapper.cs @@ -691,21 +691,19 @@ namespace Bloxstrap } } - private void KillRunningRobloxInDirectory(string path) + private static void KillRobloxPlayers() { - const string LOG_IDENT = "Bootstrapper::KillRunningRobloxInDirectory"; + const string LOG_IDENT = "Bootstrapper::KillRobloxPlayers"; List processes = new List(); - processes.AddRange(Process.GetProcessesByName(IsStudioLaunch ? "RobloxStudioBeta" : "RobloxPlayerBeta")); - processes.AddRange(Process.GetProcessesByName("RobloxCrashHandler")); + processes.AddRange(Process.GetProcessesByName("RobloxPlayerBeta")); + processes.AddRange(Process.GetProcessesByName("RobloxCrashHandler")); // roblox studio doesnt depend on crash handler being open, so this should be fine foreach (Process process in processes) { try { - string? processPath = process.MainModule?.FileName; - if (processPath != null && processPath.StartsWith(path)) - process.Kill(); + process.Kill(); } catch (Exception ex) { @@ -730,9 +728,11 @@ namespace Bloxstrap _isInstalling = true; - // make sure nothing is running from the latest version directory before deleting the whole directory - KillRunningRobloxInDirectory(_latestVersionDirectory); + // make sure nothing is running before continuing upgrade + if (!IsStudioLaunch) // TODO: wait for studio processes to close before updating to prevent data loss + KillRobloxPlayers(); + // get a fully clean install if (Directory.Exists(_latestVersionDirectory)) { try