locked
Windows::System::Launcher::LaunchUriAsync does not return false if the protocol is not registrerd

    Question

  • Hi,

    I have a metro app - App1 that launches another app - App2 via the URL protocol. The problem is that if App2 is not installed, the user sees a system error message "No app is installed to open this type of link".

    What I'd like to do is - detect the absence of App2 (I was hoping that LaunchURIAsync returns false in this case - but it does not) and do a fall back implementation of the functionality. What is the way to achieve this?

    Regards,

    Kashyap

    Tuesday, July 9, 2013 10:37 AM

Answers

  • You can pass arguments in LaunchURIAsync's LauncherOptions to suggest how it handles the case where no handler is found. This can prefer a specific app or redirect to a web page.

    You can't get an error back to handle yourself. Note that LaunchURIAsync does not directly launch App2. It launches the protocol, which may or may not be handled by App2

    --Rob

    Tuesday, July 9, 2013 3:11 PM
    Owner