uwpwinui-3application-restartwindows-app-sdk

Is there a function that can restart a WinUI app?


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?


Solution

  • 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;
        }
    }