From 7977dba498c1755efdd0243d9b0006c6b2db9fda Mon Sep 17 00:00:00 2001
From: Matt <97983689+bluepilledgreat@users.noreply.github.com>
Date: Sat, 1 Mar 2025 13:59:42 +0000
Subject: [PATCH] Add Windows 7 & 8.1 deprecation message (#4365)
* add windows 7 & 8.1 deprecation message
* remove deprecation bypass setting
---
Bloxstrap/App.xaml.cs | 19 +++++++++++++++++++
Bloxstrap/Bootstrapper.cs | 2 ++
Bloxstrap/Resources/Strings.Designer.cs | 9 +++++++++
Bloxstrap/Resources/Strings.resx | 3 +++
4 files changed, 33 insertions(+)
diff --git a/Bloxstrap/App.xaml.cs b/Bloxstrap/App.xaml.cs
index 5083121..691d868 100644
--- a/Bloxstrap/App.xaml.cs
+++ b/Bloxstrap/App.xaml.cs
@@ -181,6 +181,22 @@ namespace Bloxstrap
}
}
+ public static void AssertWindowsOSVersion()
+ {
+ const string LOG_IDENT = "App::AssertWindowsOSVersion";
+
+ int major = Environment.OSVersion.Version.Major;
+ if (major < 10) // Windows 10 and newer only
+ {
+ Logger.WriteLine(LOG_IDENT, $"Detected unsupported Windows version ({Environment.OSVersion.Version}).");
+
+ if (!LaunchSettings.QuietFlag.Active)
+ Frontend.ShowMessageBox(Strings.App_OSDeprecation_Win7_81, MessageBoxImage.Error);
+
+ Terminate(ErrorCode.ERROR_INVALID_FUNCTION);
+ }
+ }
+
protected override void OnStartup(StartupEventArgs e)
{
const string LOG_IDENT = "App::OnStartup";
@@ -213,6 +229,8 @@ namespace Bloxstrap
#endif
}
+ Logger.WriteLine(LOG_IDENT, $"OSVersion: {Environment.OSVersion}");
+
Logger.WriteLine(LOG_IDENT, $"Loaded from {Paths.Process}");
Logger.WriteLine(LOG_IDENT, $"Temp path is {Paths.Temp}");
Logger.WriteLine(LOG_IDENT, $"WindowsStartMenu path is {Paths.WindowsStartMenu}");
@@ -292,6 +310,7 @@ namespace Bloxstrap
{
Logger.Initialize(true);
Logger.WriteLine(LOG_IDENT, "Not installed, launching the installer");
+ AssertWindowsOSVersion(); // prevent new installs from unsupported operating systems
LaunchHandler.LaunchInstaller();
}
else
diff --git a/Bloxstrap/Bootstrapper.cs b/Bloxstrap/Bootstrapper.cs
index ea0cd74..e42ff98 100644
--- a/Bloxstrap/Bootstrapper.cs
+++ b/Bloxstrap/Bootstrapper.cs
@@ -179,6 +179,8 @@ namespace Bloxstrap
}
#endif
+ App.AssertWindowsOSVersion();
+
// ensure only one instance of the bootstrapper is running at the time
// so that we don't have stuff like two updates happening simultaneously
diff --git a/Bloxstrap/Resources/Strings.Designer.cs b/Bloxstrap/Resources/Strings.Designer.cs
index fd14b8f..d1277a1 100644
--- a/Bloxstrap/Resources/Strings.Designer.cs
+++ b/Bloxstrap/Resources/Strings.Designer.cs
@@ -151,6 +151,15 @@ namespace Bloxstrap.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Roblox no longer supports Windows 7 or 8.1. To continue playing Roblox, please upgrade to Windows 10 or newer..
+ ///
+ public static string App_OSDeprecation_Win7_81 {
+ get {
+ return ResourceManager.GetString("App.OSDeprecation.Win7_81", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Bloxstrap was unable to automatically update to version {0}. Please update it manually by downloading and running it from the website..
///
diff --git a/Bloxstrap/Resources/Strings.resx b/Bloxstrap/Resources/Strings.resx
index c8a5479..4f3dadb 100644
--- a/Bloxstrap/Resources/Strings.resx
+++ b/Bloxstrap/Resources/Strings.resx
@@ -1267,4 +1267,7 @@ Please close any applications that may be using Roblox's files, and relaunch.All Bloxstrap logs
Label that appears next to a checkbox
+
+ Roblox no longer supports Windows 7 or 8.1. To continue playing Roblox, please upgrade to Windows 10 or newer.
+
\ No newline at end of file