add windows 7 & 8.1 deprecation message

This commit is contained in:
bluepilledgreat 2025-01-19 14:33:47 +00:00
parent 5d1aa50753
commit ac413eeb68
5 changed files with 43 additions and 0 deletions

View File

@ -181,6 +181,29 @@ 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 (Settings.Prop.IgnoreWindows78Deprecation)
{
Logger.WriteLine(LOG_IDENT, "IgnoreWindows78Deprecation flag enabled. Skipping deprecation message.");
Logger.WriteLine(LOG_IDENT, "================= DO NOT REQUEST FOR SUPPORT. YOU WILL BE IGNORED. =================");
return;
}
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 +236,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 +317,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

View File

@ -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

View File

@ -17,6 +17,9 @@ namespace Bloxstrap.Models.Persistable
public bool UseFastFlagManager { get; set; } = true;
public bool WPFSoftwareRender { get; set; } = false;
public bool EnableAnalytics { get; set; } = true;
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
[JsonPropertyName("ILikeMyOSDeprecatedBruh")]
public bool IgnoreWindows78Deprecation { get; set; } = false;
// integration configuration
public bool EnableActivityTracking { get; set; } = true;

View File

@ -151,6 +151,15 @@ namespace Bloxstrap.Resources {
}
}
/// <summary>
/// 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..
/// </summary>
public static string App_OSDeprecation_Win7_81 {
get {
return ResourceManager.GetString("App.OSDeprecation.Win7_81", resourceCulture);
}
}
/// <summary>
/// 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..
/// </summary>

View File

@ -1267,4 +1267,7 @@ Please close any applications that may be using Roblox's files, and relaunch.</v
<value>All Bloxstrap logs</value>
<comment>Label that appears next to a checkbox</comment>
</data>
<data name="App.OSDeprecation.Win7_81" xml:space="preserve">
<value>Roblox no longer supports Windows 7 or 8.1. To continue playing Roblox, please upgrade to Windows 10 or newer.</value>
</data>
</root>