disable the ability to install in admin mode

This commit is contained in:
bluepilledgreat 2024-04-23 16:10:06 +01:00
parent 5ca4785d88
commit 3fb331b459
3 changed files with 18 additions and 0 deletions

View File

@ -138,6 +138,14 @@ namespace Bloxstrap
Paths.Initialize(BaseDirectory);
// disallow running as administrator except for uninstallation
if (Utilities.IsAdministrator && !LaunchSettings.IsUninstall)
{
Frontend.ShowMessageBox("Bloxstrap does not support running in administrator mode. Relaunch or reinstall Bloxstrap with lower privileges.", MessageBoxImage.Error);
Terminate(ErrorCode.ERROR_INVALID_FUNCTION);
return;
}
// we shouldn't save settings on the first run until the first installation is finished,
// just in case the user decides to cancel the install
if (!IsFirstRun)

View File

@ -8,6 +8,7 @@
public enum ErrorCode
{
ERROR_SUCCESS = 0,
ERROR_INVALID_FUNCTION = 1,
ERROR_INSTALL_USEREXIT = 1602,
ERROR_INSTALL_FAILURE = 1603,
ERROR_CANCELLED = 1223,

View File

@ -1,9 +1,18 @@
using System.ComponentModel;
using System.Security.Principal;
namespace Bloxstrap
{
static class Utilities
{
/// <summary>
/// Is process running as administrator
/// https://stackoverflow.com/a/11660205
/// </summary>
public static bool IsAdministrator =>
new WindowsPrincipal(WindowsIdentity.GetCurrent())
.IsInRole(WindowsBuiltInRole.Administrator);
public static void ShellExecute(string website)
{
try