Javascript 如何从浏览器检查我们软件的版本?

Javascript 如何从浏览器检查我们软件的版本?,javascript,browser,version-control,Javascript,Browser,Version Control,我们有一个为本机Windows制作的遗留软件包。我正在编写一个自动安装更新的系统。其中一个选项是让客户端访问一个网页,并从该网页检查安装的更新。识别软件版本有两种方法:要么读取特定的EXE文件并查看其文件版本,要么读取我们软件的注册表(实际上第三种方法是从他们的SQL Server数据库中读取,但这显然是不可能的)。这两种方法都可以,但我不知道如何在浏览器中通过javascript实现 我肯定有一些安全性,但我见过其他系统这样做,所以我相信这是可能的。通常,该网页可以检查客户端计算机是否存在某些

我们有一个为本机Windows制作的遗留软件包。我正在编写一个自动安装更新的系统。其中一个选项是让客户端访问一个网页,并从该网页检查安装的更新。识别软件版本有两种方法:要么读取特定的EXE文件并查看其文件版本,要么读取我们软件的注册表(实际上第三种方法是从他们的SQL Server数据库中读取,但这显然是不可能的)。这两种方法都可以,但我不知道如何在浏览器中通过javascript实现


我肯定有一些安全性,但我见过其他系统这样做,所以我相信这是可能的。通常,该网页可以检查客户端计算机是否存在某些软件,如果存在,则检查版本。如何通过Javascript实现这一点?

在MaVRoSCy的评论中:“只有在IE中,通过一些ActiveX帮助才能实现这一点,除非您运行专用的本地服务器只是为了提供此功能”。这实际上非常适合,因为每台客户端计算机都已经有一个Windows服务随时在后台运行

可以将一个简单的HTTP服务器添加到此客户机服务中,侦听通用的非公共端口号,如16580。此HTTP服务器可以处理请求,如返回当前应用程序版本的
/currentversion

网页上的javascript(托管在其他地方,但在该客户端的浏览器上查看)调用
http://127.0.0.1:16580/currentversion
获取最新版本

其中一个选项是让客户端访问一个网页,并从该网页检查安装的更新

坏主意和错误的方法

  • Checker |更新程序必须嵌入到应用程序中
  • 检查人员必须(启动时|按需|任意)
    • 确定本地应用程序的构建(任何可用方式)
    • 获取并解析外部永久URL,其中包含最新现有版本的数据(至少包含版本和URL)
    • 如果需要,通知新版本和|或下载|更新核心,如果用户|配置要求

只有在IE中,通过一些ActiveX帮助才能实现这一点,除非您运行专用本地服务器只是为了提供这一功能。我喜欢专用本地服务器的想法,这会奏效。。。假设有一个HTTP服务器从该机器上的服务运行,然后从javascript向
127.0.0.1
发出请求,当然还有一些自定义端口号。我在每台客户机上都有一个服务。通过使用本地专用的web服务器,就不需要ActiveX了。您可以让服务器执行辅助工作(检查软件版本、读取文件、处理内容),您可以使用纯html(甚至可能不需要javascript)输出结果。这个网页将从我们自己的服务器托管,但由我们的客户机在其环境中查看。我们的想法是,当他们查看我们的网站时,我们可以发布一个警告,说“你的应用程序有一个新版本可用”nop nop nop nop!!!所谓本地专用web服务器,我指的是在客户机pc上实际运行的服务器,而不是您描述的方式。如果你想要你所描述的,那么你必须使用一个全局服务器,并且客户端使用IE和ActiveX权限访问它,以便能够从客户端的文件系统中读取。这也将在那里,我为用户提供了许多不同的选项。实际上,在用户启动更新之前,此更新程序将自动从服务中下载文件。这样做的目的就是尽可能多地把它放在他们面前,这样他们就有了一个新的版本(当然不会像某些软件那样讨厌它)