首页 > 解决方案 > 是否可以使用 webapp 在用户的本地机器上安装和运行第三方软件?

问题描述

我的情况。

我的公司希望我开发一个 web 应用程序,它将在我们客户的机器上运行 3rd 方软件。基本上,我们为该软件开发了一些我们希望用户能够使用的功能。但是,原始软件技术含量很高,我们希望开发一个简化的用户界面,只提供我们开发的功能,而不需要额外复杂的花里胡哨。

传给我的设计将此 UI 托管在网络服务器上,但软件本地安装在用户计算机上。但是,这个基于 Web 的 UI 应该能够对这个本地安装的软件执行命令。(设计这个系统的人似乎认为这可以用 Javascript 来实现,但我 99% 肯定不是)。

撇开这种设计没有任何意义(你为什么不直接在服务器上安装软件并在那里运行它呢?)这个事实不谈,我是否正确地相信只有当我们编写一个桌面程序时才能做到这一点这将授予我们的 webapp 访问用户本地计算机的权限,并且我们必须让我们的用户安装它?另外,我认为这会对我们的客户构成安全风险是否正确?

编辑

我的问题不是关于如何提示用户安装第 3 方软件。我的问题是关于如何从 web 应用程序向该软件发出命令。

标签: javascriptweb-applicationsarchitecture

解决方案


应用程序是用什么写的?JavaScript 和 HTML (HTML5)?或者它是实际安装的应用程序类型?

你能编写告诉用户机器安装的 JavaScript 吗?是的

你能确定它真的有效吗?不,因为它不是您的计算机。

微软做到了一键式。用户仍然需要做出一些决定,但如果他们说是,它就会安装。Java中有类似的范例。如果您想要“最简单”,离线网站可以工作,但要意识到实际调试很痛苦。

但是,您的应用程序已经编写好了,所以我假设您只想在用户机器上进行神奇的安装,以便他们可以使用它。

至于“如何”的一个版本。看到这个

编辑:如果应用程序具有运行它的命令行方式(您提到),则可以从 Web 应用程序访问桌面应用程序。我不确定如何在 JavaScript 中执行此操作,但我会考虑运行命令行应用程序。在 .NET 中,您拥有可以包装命令行以运行某些东西的 Process 对象。这意味着将可执行文件放在服务器上并从文件夹中运行它。为了安全起见,请确保浏览者无法访问该文件夹,尤其是。如果该应用程序可以创建一个巨大的安全漏洞。如果出现问题,您还可以在内部将其设置在 API 后面,因此它位于防火墙后面,并且只允许从外部网站对 API 进行 HTTP 访问。

您必须确定适配器以将正确的参数发送到命令行以运行并获得答案。希望这使用命令输出,因此您可以获取信息。如果它写入文件,您还有另一个障碍需要跨越。

注意:从技术上讲,有很多方法可以通过这种方式运行带有完整 GUI 的应用程序,但这需要很多创造力,我会考虑亲自重写功能。


推荐阅读