diff --git a/Bloxstrap/App.xaml.cs b/Bloxstrap/App.xaml.cs
index 575d188..c9340d1 100644
--- a/Bloxstrap/App.xaml.cs
+++ b/Bloxstrap/App.xaml.cs
@@ -1,6 +1,7 @@
using System;
using System.Globalization;
using System.IO;
+using System.Management;
using System.Net.Http;
using System.Net;
using System.Reflection;
@@ -82,6 +83,23 @@ namespace Bloxstrap
Logger.WriteLine($"[App::OnStartup] Starting {ProjectName} v{Version}");
+ if (!Environment.Is64BitOperatingSystem)
+ {
+ string message = "In the near future, Roblox will no longer support 32-bit Windows devices. To keep playing Roblox, please use a device that is 64-bit compatible.";
+
+ // check if the processor actually supports 64-bit so we can tell
+ // the user that they are able to upgrade to 64-bit windows
+ foreach (ManagementObject result in new ManagementObjectSearcher("SELECT * FROM Win32_Processor").Get())
+ {
+ // https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-processor
+ // architecture type 9 is x64
+ if (result["Architecture"].ToString() == "9")
+ message += "\n\nYour computer is running a 32-bit version of Windows but is actually 64-bit compatible. Search online for how to upgrade to a 64-bit version of Windows.";
+ }
+
+ ShowMessageBox(message, MessageBoxImage.Warning);
+ }
+
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
@@ -168,8 +186,8 @@ namespace Bloxstrap
State.Load();
}
#if !DEBUG
- try
- {
+ try
+ {
if (!IsUninstall && !IsFirstRun)
Updater.CheckInstalledVersion();
#endif
@@ -273,7 +291,7 @@ namespace Bloxstrap
if (t.IsFaulted)
Logger.WriteLine("[App::OnStartup] An exception occurred when running the bootstrapper");
- if (t.Exception is null)
+ if (t.Exception is null)
return;
Logger.WriteLine($"[App::OnStartup] {t.Exception}");
@@ -305,15 +323,15 @@ namespace Bloxstrap
}
catch (Exception ex)
{
- Logger.WriteLine("[App::OnStartup] An exception occurred when running the main thread");
- Logger.WriteLine($"[App::OnStartup] {ex}");
+ Logger.WriteLine("[App::OnStartup] An exception occurred when running the main thread");
+ Logger.WriteLine($"[App::OnStartup] {ex}");
if (!IsQuiet)
- Settings.Prop.BootstrapperStyle.GetNew().ShowError($"{ex.GetType()}: {ex.Message}");
- }
+ Settings.Prop.BootstrapperStyle.GetNew().ShowError($"{ex.GetType()}: {ex.Message}");
+ }
#endif
- Terminate();
+ Terminate();
}
}
}
diff --git a/Bloxstrap/Bloxstrap.csproj b/Bloxstrap/Bloxstrap.csproj
index 184539f..9d374bf 100644
--- a/Bloxstrap/Bloxstrap.csproj
+++ b/Bloxstrap/Bloxstrap.csproj
@@ -26,6 +26,7 @@
+
diff --git a/Bloxstrap/Models/RobloxApi/ApiArrayResponse.cs b/Bloxstrap/Models/RobloxApi/ApiArrayResponse.cs
index 18fc689..7f7e948 100644
--- a/Bloxstrap/Models/RobloxApi/ApiArrayResponse.cs
+++ b/Bloxstrap/Models/RobloxApi/ApiArrayResponse.cs
@@ -3,12 +3,12 @@ using System.Text.Json.Serialization;
namespace Bloxstrap.Models.RobloxApi
{
- ///
- /// Roblox.Web.WebAPI.Models.ApiArrayResponse
- ///
- public class ApiArrayResponse
- {
+ ///
+ /// Roblox.Web.WebAPI.Models.ApiArrayResponse
+ ///
+ public class ApiArrayResponse
+ {
[JsonPropertyName("data")]
- public IEnumerable Data { get; set; } = null!;
- }
+ public IEnumerable Data { get; set; } = null!;
+ }
}
diff --git a/Bloxstrap/Models/RobloxApi/GameDetailResponse.cs b/Bloxstrap/Models/RobloxApi/GameDetailResponse.cs
index 8db7af7..2a824ac 100644
--- a/Bloxstrap/Models/RobloxApi/GameDetailResponse.cs
+++ b/Bloxstrap/Models/RobloxApi/GameDetailResponse.cs
@@ -47,7 +47,7 @@ namespace Bloxstrap.Models.RobloxApi
[JsonPropertyName("sourceDescription")]
public string SourceDescription { get; set; } = null!;
- [JsonPropertyName("creator")]
+ [JsonPropertyName("creator")]
public GameCreator Creator { get; set; } = null!;
///
diff --git a/Bloxstrap/Models/RobloxApi/ThumbnailResponse.cs b/Bloxstrap/Models/RobloxApi/ThumbnailResponse.cs
index 9b0a7cf..2a4a227 100644
--- a/Bloxstrap/Models/RobloxApi/ThumbnailResponse.cs
+++ b/Bloxstrap/Models/RobloxApi/ThumbnailResponse.cs
@@ -2,18 +2,18 @@
namespace Bloxstrap.Models.RobloxApi
{
- ///
- /// Roblox.Web.Responses.Thumbnails.ThumbnailResponse
- ///
- public class ThumbnailResponse
- {
- [JsonPropertyName("targetId")]
- public long TargetId { get; set; }
+ ///
+ /// Roblox.Web.Responses.Thumbnails.ThumbnailResponse
+ ///
+ public class ThumbnailResponse
+ {
+ [JsonPropertyName("targetId")]
+ public long TargetId { get; set; }
- [JsonPropertyName("state")]
- public string State { get; set; } = null!;
+ [JsonPropertyName("state")]
+ public string State { get; set; } = null!;
- [JsonPropertyName("imageUrl")]
- public string ImageUrl { get; set; } = null!;
- }
+ [JsonPropertyName("imageUrl")]
+ public string ImageUrl { get; set; } = null!;
+ }
}