diff --git a/src/runner/settings_window.cpp b/src/runner/settings_window.cpp index 2c2c14cf78..a4f0a90a58 100644 --- a/src/runner/settings_window.cpp +++ b/src/runner/settings_window.cpp @@ -386,7 +386,11 @@ void run_settings_window() executable_args.append(settings_isUserAnAdmin); BOOL process_created = false; - if (is_process_elevated()) + + // Due to a bug in .NET, running the Settings process as non-elevated + // from an elevated process sometimes results in a crash. + // TODO: Revisit this after switching to .NET 5 + if (is_process_elevated() && !UseNewSettings()) { process_created = run_settings_non_elevated(executable_path.c_str(), executable_args.data(), &process_info); }