Compare commits

..

7 Commits

Author SHA1 Message Date
bluepilledgreat
d8f29f72e8 Merge branch 'main' into bugfix/font-related-errors 2025-03-11 10:10:50 +00:00
bluepilledgreat
d455145403 add to strings 2025-03-11 10:07:55 +00:00
bluepilledgreat
552f2a52a6 bump version 2025-03-02 13:07:52 +00:00
Matt
12af23b261
bump package versions (#4739) 2025-03-02 13:06:48 +00:00
Ryan Luu
f0df6153e3
Add repro section to bug report (#3765) 2025-03-01 15:46:24 +00:00
Matt
1258dc3589
remove behind production check for channels (#4730) 2025-03-01 15:44:06 +00:00
Matt
7977dba498
Add Windows 7 & 8.1 deprecation message (#4365)
* add windows 7 & 8.1 deprecation message

* remove deprecation bypass setting
2025-03-01 13:59:42 +00:00
8 changed files with 98 additions and 26 deletions

View File

@ -45,6 +45,16 @@ body:
description: Provide a comprehensive description of the problem you're facing. Don't forget to attach any additional resources you may have, such as log files and screenshots.
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: How do you reproduce the problem?
description: Include the steps to reproduce the problem from start to finish. Include details such as FastFlags you added and settings you changed.
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
- type: textarea
id: log
attributes:

View File

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

View File

@ -7,8 +7,8 @@
<UseWPF>true</UseWPF>
<UseWindowsForms>True</UseWindowsForms>
<ApplicationIcon>Bloxstrap.ico</ApplicationIcon>
<Version>2.8.6</Version>
<FileVersion>2.8.6</FileVersion>
<Version>2.9.0</Version>
<FileVersion>2.9.0</FileVersion>
<ApplicationManifest>app.manifest</ApplicationManifest>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
@ -49,10 +49,10 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="DiscordRichPresence" Version="1.2.1.24" />
<PackageReference Include="Markdig" Version="0.37.0" />
<PackageReference Include="Microsoft.Windows.CsWin32" Version="0.3.106">
<PackageReference Include="Markdig" Version="0.40.0" />
<PackageReference Include="Microsoft.Windows.CsWin32" Version="0.3.183">
<!--<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>-->
<PrivateAssets>all</PrivateAssets>
</PackageReference>

View File

@ -188,6 +188,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
@ -259,9 +261,9 @@ namespace Bloxstrap
{
// show some balloon tips
if (!_packageExtractionSuccess)
Frontend.ShowBalloonTip("Failed to extract files", "Some content may be missing. Please force a Roblox reinstallation in settings.", ToolTipIcon.Warning);
Frontend.ShowBalloonTip(Strings.Bootstrapper_ExtractionFailed_Title, Strings.Bootstrapper_ExtractionFailed_Message, ToolTipIcon.Warning);
else if (!allModificationsApplied)
Frontend.ShowBalloonTip("Failed to apply modifications", "Not all modifications will be present with the current launch.", ToolTipIcon.Warning);
Frontend.ShowBalloonTip(Strings.Bootstrapper_ModificationsFailed_Title, Strings.Bootstrapper_ModificationsFailed_Message, ToolTipIcon.Warning);
StartRoblox();
}
@ -322,14 +324,6 @@ namespace Bloxstrap
clientVersion = await Deployment.GetInfo();
}
if (clientVersion.IsBehindDefaultChannel)
{
App.Logger.WriteLine(LOG_IDENT, $"Resetting channel from {Deployment.Channel} because it's behind production");
Deployment.Channel = Deployment.DefaultChannel;
clientVersion = await Deployment.GetInfo();
}
key.SetValueSafe("www.roblox.com", Deployment.IsDefaultChannel ? "" : Deployment.Channel);
_latestVersionGuid = clientVersion.VersionGuid;

View File

@ -12,7 +12,5 @@
public string BootstrapperVersion { get; set; } = null!;
public DateTime? Timestamp { get; set; }
public bool IsBehindDefaultChannel { get; set; }
}
}

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>
@ -169,6 +178,24 @@ namespace Bloxstrap.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Some content may be missing. Force a Roblox reinstallation in settings to fix this..
/// </summary>
public static string Bootstrapper_ExtractionFailed_Message {
get {
return ResourceManager.GetString("Bootstrapper.ExtractionFailed.Message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Failed to extract all files.
/// </summary>
public static string Bootstrapper_ExtractionFailed_Title {
get {
return ResourceManager.GetString("Bootstrapper.ExtractionFailed.Title", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Bloxstrap tried to upgrade Roblox but can&apos;t because Roblox&apos;s files are still in use.
///
@ -198,6 +225,24 @@ namespace Bloxstrap.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Not all modifications will be present in the current launch..
/// </summary>
public static string Bootstrapper_ModificationsFailed_Message {
get {
return ResourceManager.GetString("Bootstrapper.ModificationsFailed.Message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Failed to apply all modifications.
/// </summary>
public static string Bootstrapper_ModificationsFailed_Title {
get {
return ResourceManager.GetString("Bootstrapper.ModificationsFailed.Title", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Bloxstrap does not have enough disk space to download and install Roblox. Please free up some disk space and try again..
/// </summary>

View File

@ -1267,4 +1267,19 @@ 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>
<data name="Bootstrapper.ExtractionFailed.Title" xml:space="preserve">
<value>Failed to extract all files</value>
</data>
<data name="Bootstrapper.ExtractionFailed.Message" xml:space="preserve">
<value>Some content may be missing. Force a Roblox reinstallation in settings to fix this.</value>
</data>
<data name="Bootstrapper.ModificationsFailed.Title" xml:space="preserve">
<value>Failed to apply all modifications</value>
</data>
<data name="Bootstrapper.ModificationsFailed.Message" xml:space="preserve">
<value>Not all modifications will be present in the current launch.</value>
</data>
</root>

View File

@ -187,15 +187,6 @@
}
}
// check if channel is behind LIVE
if (!isDefaultChannel)
{
var defaultClientVersion = await GetInfo(DefaultChannel);
if (Utilities.CompareVersions(clientVersion.Version, defaultClientVersion.Version) == VersionComparison.LessThan)
clientVersion.IsBehindDefaultChannel = true;
}
ClientVersionCache[cacheKey] = clientVersion;
}