I'm developing a WinUI3 based app and I need to restart the app to apply some settings. But I can't find a function to do that. I noticed that there is a method--CoreApplication.RequestRestartAsync
. However, it only shut the app down but didn't open the app. Is there an API can restart a WinUI app?
Try the Restart API:
// You can pass arguments to the restarted instance.
private void RestartApp(string arguments = "")
{
// The restart will be executed immediately.
Windows.ApplicationModel.Core.AppRestartFailureReason failureReason =
Microsoft.Windows.AppLifecycle.AppInstance.Restart(arguments);
// If the restart fails, handle it here.
switch (failureReason)
{
case AppRestartFailureReason.RestartPending:
break;
case AppRestartFailureReason.NotInForeground:
break;
case AppRestartFailureReason.InvalidUser:
break;
default: //AppRestartFailureReason.Other
break;
}
}