Windows installer 自动升级基于MSI的应用程序的最佳实践是什么?

Windows installer 自动升级基于MSI的应用程序的最佳实践是什么?,windows-installer,Windows Installer,我正在尝试找到一个标准的Microsoft update服务,它将自动更新客户计算机上的应用程序/服务 有这样的自动更新服务吗 更新:(只是交叉引用) :我不知道任何用于自动更新MSI安装的标准Microsoft功能。另一种(而且相当过时)部署技术具有一些自动更新功能。我从来没有在很多事情上使用过这种技术。我想PhilDW已经用过了 MSI SDK:不自动更新,但MSI SDK包含默认的setup.exe包装器和。本质上是一种从URL调用安装的方法。我17年前试过,后来放弃了 :如果您在公司环

我正在尝试找到一个标准的Microsoft update服务,它将自动更新客户计算机上的应用程序/服务

有这样的自动更新服务吗

更新:(只是交叉引用)


:我不知道任何用于自动更新MSI安装的标准Microsoft功能。另一种(而且相当过时)部署技术具有一些自动更新功能。我从来没有在很多事情上使用过这种技术。我想PhilDW已经用过了

MSI SDK:不自动更新,但MSI SDK包含默认的
setup.exe
包装器和。本质上是一种从URL调用安装的方法。我17年前试过,后来放弃了

:如果您在公司环境中,我认为应用程序流是一种选择—集中安装和管理已部署的应用程序

MSIX:快速提及MSIX-微软基于以前的AppX格式的一种新部署技术(不是AppV-有很多地方值得混淆)。我不清楚MSIX可用的自动更新功能(更新:见Bogdan的答案)。在下面的综合指南中添加了另一个链接:

更新:(也是由Bogdan Mitrache编写的)

第三方部署工具:和(我认为)等商业部署工具具有内置MSI自动更新功能(半自动更新)。我没有掌握确切的技术和概念细节以及限制,因为我没有使用这些功能。我认为高级安装程序可以让您指向自己的站点,但我不确定Installshield的功能

自己动手?:我在一个产品中实现了一次更新检查功能,方法是让应用程序将当前安装的MSI文件的产品代码发送到公司网站上的一个非常简单的数据库中。该数据库提供了升级到哪个最新版本的信息,并在浏览器中提供了直接下载链接。您可以让您的应用程序直接执行此检查,但我们更希望浏览器通过使其成为标准网页查找(URL中嵌入的产品GUID)来解决任何防火墙和代理问题。此检查可从产品的“帮助”菜单中调用注意:如果您使用此功能,请确保为非管理员用户禁用该功能理想情况下,可以按组策略禁用该功能-或仅在HKLM中禁用一个注册表标志


某些链接

作为对斯坦回答的后续行动

MSIX:这仍然很热门,大多数用户可能从未听说过它,因此我的建议是仅出于研发目的解决它

为了证实斯坦的回答,有人支持软件包。实际上,最新版本的高级安装程序可以构建MSIX/AppX包,这些包也利用了这种支持

第三方工具:如果您现在想将应用程序部署到Windows 7和Windows 10用户,旧的MSI仍然是您的朋友

正如Stein所提到的,市场上大多数专业的第三方工具都提供了一个自动更新程序,您可以很快地将其挂接到应用程序中。使用高级安装程序,这非常简单(或者我们希望如此:)。使用您可以使用户手动检查更新,方法是创建一个简单的快捷方式来启动更新,或者按计划(高级安装程序将创建一个计划任务),或者您甚至可以

除非你真的有很多时间在你的手上,并且喜欢打扰你的用户,否则我不建议你去构建你自己的更新程序。这听起来很简单,但对你和你的用户(那些碰到你的bug或限制的人)来说,很容易变得复杂

免责声明:如果Stein的回答还不清楚,我将使用team building Advanced安装程序