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

时间:2018-07-30 09:56:08

标签: windows-installer msiexec

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

是否存在这样的自动更新程序服务?

2 个答案:

答案 0 :(得分:3)

ClickOnce:我不知道用于自动更新MSI安装的任何标准Microsoft功能。替代的(并且几乎已经过时的)部署技术ClickOnce具有一些自动更新功能。我从未将这项技术用于很多方面。我认为 PhilDW 曾经使用过它。

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

an example for A URL-Based Windows Installer Installation :如果您在公司环境中,我认为App-V应用程序流是一种选择-集中安装和管理已部署的应用程序

MSIX :快速介绍了MSIX,这是Microsoft基于以前的AppX格式(不是AppV,是很多令人困惑的东西)开发的一项新部署技术。 App-V。对我来说,尚不清楚MSIX可用的自动更新功能(更新:请参阅Bogdan的答案)。

第三方部署工具 :诸如Maybe check Bogdan Mitrache's summary description of MSIX和(我认为)Advanced Installer之类的商业部署工具具有支持MSI自动更新的功能内置在他们的工具中(半自动更新)。由于我没有使用这些功能,因此我无法完全掌握确切的技术和概念上的细节和限制。我认为Advanced Installer可以使您指向自己的站点,但是我不确定Installshield的作用。 Advanced Installer的 Bogdan Mitrache 和Installshield的 Michael Urman 潜伏着这些水-因此我们可能会从中得到一些信息? :-)

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


某些链接

答案 1 :(得分:3)

作为Stein回答的后续措施。

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

仅需确认Stein的回答,就支持auto-updates for MSIX/AppX软件包。实际上,最新版本的Advanced Installer可以构建MSIX / AppX软件包,这些软件包也可以利用此支持。

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

就像Stein提到的那样,市场上大多数专业第三方工具都提供了一个自动更新程序,您可以将其快速挂接到应用程序中。使用Advanced Installer,这非常简单(,所以我们希望:))。使用our updater,可以通过创建一个简单的快捷方式启动它来使用户手动检查更新,也可以按计划进行(高级安装程序将创建计划任务),甚至可以call it directly from your application

除非您真的有很多时间在手,并且喜欢让用户烦恼,否则我不建议您继续构建自己的更新程序。对于您和您的用户(遇到错误或限制的人),听起来很简单,但很容易变得复杂。

免责声明:如果Stein的回答尚不清楚,那么我将负责构建Advanced Installer团队。

相关问题