I need to open an external application (Cisco Jabber Video for Telepresence) when a user selects the "video call" option in my app.
I have found that it is not possible to open the location of the executable in a Universal app...
I have also found that I cannot open an application when it is not associated with any URI schemes...
Is there any way I can do this?
To be able to associate apps with websites, you must first open the Settings app. A quick way to do that is to open the Start Menu and then click or tap on the gear icon on its left side. In Settings, click or tap on the Apps category. On the left side of the window, click or tap on Apps for websites.
Select the search button on the taskbar and type the name of the app or program. Press the Windows key on your keyboard and start typing.
Windows 10 introduced the Universal Windows Platform (UWP), which provides a common app platform on every device that runs Windows. The UWP core APIs are the same on all Windows devices.
Thanks to Microsoft MVA, some options were presented to us (you just have to fiddle them out):
Solution 1 (recommended by this Microsoft MVA tutorial):
If you want to start a specific application, you have to create a URI scheme registration, that only the specific application you want to start can handle.
Using the Launcher
, you can call a specified URI that will only be handled by one application (e.g. my-cool-uri-scheme://start?param1=123¶m2=ABC
).
Note: The user will always have the final choice which app to start with a specified URI (that's why this solution is recommended by Microsoft).
The following solutions will most likely only work in enterprise environments!
Solution 2 (clean workaround):
You have to write a proxy Windows application.
This proxy application (almost as in solution #1) registers itself with a specific file extension.
From your UWP app, you then call an imaginary file path containing your parameters (e.g. C:/Users/CURRENTUSER/AppData/Roaming/YOURAPP/PARAM1/PARAM2/PARAM3/open.my-cool-extension
) - or event the file itself containing the parameters (e.g. XML or RESTful).
The handling application will then use those information to start a specific application (using Process.Start
) with your given parameters.
Solution 3 (dirty workaround):
You have to write an observing Windows application.
This application creates a FileSystemWatcher
listening to a specific folder. So why is this the dirty workaround? Because you...
FileSystemWatcher
permanently watching a specific drop directory for you UWP app.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With