Launch desktop app on users computer inside my web application

Glenn Meadows 0 Reputation points
2023-04-07T13:54:53.7066667+00:00

I have a web application with features that manages projects. I also need a way for customers to launch their own desktop software inside my web application for estimating and scheduling thereby allowing them to use the products they already own, know and love without me reinventing the wheel with estimating and scheduling software they would need to be trained to use. I plan to integrate their database with a variety of industry leading vendors allowing my customers to select the software they already own thereby launching their software inside my web application. Essentially my db schema would integrate with their db schema. I have attempted to use javascript using ActiveX with WShell.Script without success and sample code on Git that uses a vdproj file which vs studio will not load or build, regardless of version.

Visual Studio
Visual Studio
A family of Microsoft suites of integrated development tools for building applications for Windows, the web and mobile devices.
4,700 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Lex Li (Microsoft) 4,742 Reputation points Microsoft Employee
    2023-04-07T16:06:22.4833333+00:00

    Due to the nature of web and the increasing security risks, if you want a desktop application to respond to a web page click, the most common way today is to use a custom protocol to pass the data.

    Now, use GitHub Desktop as example. Upon installation, this desktop app registers itself in Windows so that it can handle requests like x-github-client://something , and then when inside a web page this kind of links are clicked by the users, they might be opened by GitHub Desktop from the same machine.

    Back to your scenario, you really need to know what kind of desktop software you want to integrate with. If the software has a similar custom protocol similar to x-github-client://then you just need to embed the proper links in your web application to enable the integration. If the software does not have such a modern feature, then you might develop your own desktop app with such a feature and suggest your customers to install it alongside the original software. So, your web application uses the protocol to launch your own desktop app, and in turn your desktop app can kick out the original software (since both of them are on the same machine, your app can integrate tighter via all possible ways).

    Don't use ActiveX now, as modern browsers dislike that legacy approach.

    0 comments No comments