Reputation: 1
Similar to what some of applications like video conferencing app Zoom does, I am trying to replicate a feature where clicking a button should launch a custom URL which will be opened in my native application on machine if installed(I have implemented this). The issue is with determine if my Windows application is installed and did launch on the user's machine.
Desired Behavior:
If the application is present: The application should be launched and my web application should be able to detect it's launch(not using server-side call or focus shift methods). If the application is not present: My web application that triggered the launch should be able to detect the failure with launching and i can proceed with the other flow on web.
Questions:
How can this be achieved in platforms like windows as Additional Information:
Many popular applications, including Zoom leverage similar functionality. I'm open to exploring different methods, including using possible communication protocols between client-side javascript web application and windows application on same machine or shared local storage between two where a flag can be updated and read. Any insights or code examples for both the web client and Windows application sides would be greatly helpful.
I've explored some approaches, but they have limitations:
Insecure APIs: Older browser APIs like navigator.plugins or window.ActiveXObject were considered, but security concerns and compatibility issues with modern browsers make them unsuitable. Focus Detection (Unreliable): Checking for focus shift after launching the custom URL wasn't reliable. While a focus shift might indicate app launch, it's not decisive. Server-Side (Network Calls): I explored server-side communication, but it might require more network traffic. I'm looking for approaches that minimize unnecessary network calls.
Upvotes: 0
Views: 30