From 5eb95f836e3ce99b51dd55da45e9732f28b598b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Sto=C5=A1i=C4=87?= Date: Wed, 20 Jan 2021 19:28:14 +0100 Subject: [PATCH] Run Settings on same elevation as PowerToys.exe (#9184) * Run Settings on same elevation as PowerToys.exe * Only apply the fix when running the new Settings --- src/runner/settings_window.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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); }