Electron 如何自动更新通过NSIS为所有用户/每台机器安装的电子应用程序?

Electron 如何自动更新通过NSIS为所有用户/每台机器安装的电子应用程序?,electron,nsis,windows-server,electron-builder,Electron,Nsis,Windows Server,Electron Builder,项目: 我们已经创建了一个electron应用程序,该应用程序通过使用electron builder构建的NSIS安装程序提供给我们的用户(主要使用Windows) 场景: 我们的用户是为所有员工将我们的应用程序安装到Windows终端服务器上的“C:\Program Files”文件夹中的公司。正在使用我们的软件并在新版本发布后看到相关更新通知的工作人员大多数情况下由于缺乏必要的权限而无法安装更新 问题: 我们不仅希望解决上述问题,甚至更进一步:我们希望我们的应用程序能够自动更新。在上述情况

项目: 我们已经创建了一个electron应用程序,该应用程序通过使用electron builder构建的NSIS安装程序提供给我们的用户(主要使用Windows)

场景: 我们的用户是为所有员工将我们的应用程序安装到Windows终端服务器上的“C:\Program Files”文件夹中的公司。正在使用我们的软件并在新版本发布后看到相关更新通知的工作人员大多数情况下由于缺乏必要的权限而无法安装更新

问题:
我们不仅希望解决上述问题,甚至更进一步:我们希望我们的应用程序能够自动更新。在上述情况下,有哪些可能的解决方案可以实现这一点?

如果改为按用户安装,那么普通用户当然可以写入目录

另一个选择是切换到MSI。签名的MSI包可以由普通用户进行修补,而无需UAC升级。这就是所谓的


第三个选项是创建运行安装程序的NT服务。可以配置服务,以便普通用户可以启动它们。预定的任务也可能有效。

谢谢您的回答!我们的客户不希望按用户安装,因为1。他们需要在每个客户/用户帐户2上安装我们的应用程序。另一个程序使用不支持环境变量的硬编码路径调用我们的应用程序(但可能是批处理文件)。MSI选项很有趣。不幸的是,尽管electron updater不支持它,我们需要自己编写这样一个机制。你知道有什么现成的解决方案吗?关于服务:如果exe在不同的用户帐户上运行,并且因此无法被覆盖,该怎么办?这样的NT服务能否在开始安装更新之前杀死我们应用程序的所有运行实例(在所有用户会话中)?对我来说,这是目前最有希望的解决方案。该服务可以作为系统运行,可以在所有会话中访问和终止。如果这样做是一个好主意是另一个问题…我会接受你的回答,因为你的建议对我们很有帮助。我们现在将评估不同的可能性。谢谢你,安德斯!