Launch the Default Apps settings page
Learn how to launch the Windows Settings app to display the Default Apps settings page from your app using the ms-settings URI scheme.
Windows defines a set of URIs that allow apps to launch the Windows Settings app and display a particular settings page. This article explains how to launch the Windows Settings app directly to the Default Apps settings page and, optionally, navigate directly to the settings for a specified default application. For more information, see Launch the Windows Settings app.
The Default Apps settings URL
ms-settings:defaultapps
launches the Windows Settings app and navigates to the Default Apps settings page. Starting with Windows 11, version 21H2 (with 2023-04 Cumulative Update), 22H2 (with 2023-04 Cumulative Update), and 23H2 or later, you can append an additional query string parameter in escaped URI format to launch directly to the settings page for a specific application.
There are three query string parameters. The query string parameter to be used depends on how the application was installed.
Query string parameter | Value to pass |
---|---|
registeredAppUser | Named value from HKEY_CURRENT_USER\Software\RegisteredApplications Use when the app was installed per user, and the registration for the app was written to HKEY_CURRENT_USER\Software\RegisteredApplications. |
registeredAppMachine | Named value from HKEY_LOCAL_MACHINE\Software\RegisteredApplications Use when the app was installed per machine, and the registration for the app was written to HKEY_LOCAL_MACHINE\Software\RegisteredApplications. |
registeredAUMID | Application User Model ID Use when the app was registered with Package Manager using a manifest declaring that the app handles File Types (uap:FileTypeAssociation) or URI schemes (uap:Protocol). |
Note
To get the registeredAUMID query string parameter to work after an OS upgrade, an app may need to increment its TargetDeviceFamily...MaxVersionTested value in its manifest. This will ensure that the app is reindexed for the user, which in turn will update the appropriate definitions used to process the deep link via protocol activation. MaxVersionTested should be updated to 10.0.22000.1817
for Windows 11, version 21H2 or 10.0.22621.1555
for Windows 11, version 22H2.
In the following example, LaunchUriAsync
is called to launch the Windows Settings app. The ms-settings:defaultapps
Uri specifies that the Default Apps settings page should be shown. Next, the app that should be launched is determined. As an example, “Microsoft Edge” was registered by the app in HKEY_LOCAL_MACHINE\Software\RegisteredApplications. Since it is a per machine installed app, registeredAppMachine
is the query string parameter that should be used. The optional query string parameter registeredAppMachine
is set to the registered name, escaped with a call to Url.EscapeDataString
, to specify that the page for Microsoft Edge should be shown.
private async void LaunchSettingsPage_Click(object sender, RoutedEventArgs e)
{
bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:defaultapps?registeredAppMachine=" + Uri.EscapeDataString(("Microsoft Edge")));
}
bool result = co_await Windows::System::Launcher::LaunchUriAsync(Windows::Foundation::Uri(L"ms-settings:defaultapps?registeredAppMachine=" + Uri::EscapeDataString(L"Microsoft Edge")));