Skip to content

Support "ms-app" URI schema to activate applications #236

@DrusTheAxe

Description

@DrusTheAxe

Proposal: Support "ms-app" URI schema to activate applications

Summary

Add support for a new "ms-app:" URI schema to support launching an app via URI, equivalent to how one can do it via ActivateApplication().

The new "ms-app" URI scheme should support many of the options supported by Windows.System.Launcher.LaunchUriAsync(), e.g. LauncherOptions.FallbackUri.

Rationale

Many mechanisms support executing a URI - ShellExecute(), Win-R, TaskManager File/Run, CMD.EXE command line, etc. But there's no support for launching an application via URI, with all the power and functionality of ActivateApplication

shellappsfolder: is a partial workaround but faces severe functional limitations. It's also not available on all Windows platforms; ms-app: should be.

Applications can declare their own custom protocol but ShellExecute("somescheme://foo/bar") has no way to common way to express AO_NOSPLASHSCREEN, LauncherOptions.FallbackUri, .DisplayApplicationPicker, TeatAsUntrusted or other options available through ActivateApplication and LaunchUriAsync.

Scope

Capability Priority
Support a new protocol for app activation (suggestion: "ms-app") Must
Support all parameters available via ActivateApplication Must
Support applicable options available via LauncherOptions Should

Important Notes

Potential URI design for ms-app scheme:

ms-app://appid?options

where

  • appid = Application User Model ID i.e. the application to activate
  • options = ActivateApplication.options and LauncherOptions express as query parameters e.g. ms-app://somepkgname_1234567890abc!App?designmode&splashscreen=0&errorui=0&TreatAsUntrusted=1

Open Questions

What LauncherOptions are important for an ms-app: protocol to support? e.g. FallbackUri

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions