检测更新版本的Wix bootstrapper

时间:2016-03-08 00:11:58

标签: wix

我有一个托管的wix引导程序,我注意到我可以为引导程序的更新版本提供URL以进行升级检测。但是,如果之前安装了bootstapper,它似乎只会运行。在安装当前版本之前,是否有任何默认的方法可以检测更新版本的引导程序?我想要的是,如果客户拥有遗留引导程序的副本并运行它以安装新计算机,则为用户提供下载新引导程序并运行它的选项。我假设我可以在自定义引导程序中从头开始编写所有这些,但是我想确保我没有重新发明轮子。看来大多数情况已经通过更新检测实现了。

3 个答案:

答案 0 :(得分:0)

您可以随时查看产品版本的注册表项,并将其与最新版本进行比较。

答案 1 :(得分:0)

从文档http://wixtoolset.org/documentation/manual/v3/xsd/wix/update.html开始,此功能尚不可用,您必须将其构建到自定义WPF引导程序应用程序中。

答案 2 :(得分:0)

经过进一步测试和调查后,看起来我对这是如何工作的不正确。即使之前尚未安装捆绑包,也会调用detectupdateBegin事件。您可以使用应用程序联合格式允许Wix使用原子提要。如果您使用此格式,则引擎将返回Feed中的最新版本。否则,您必须滚动自己的更新服务并将调用放在detectupdateBegin事件处理程序中。请确保不将结果设置为Ok,否则引擎将查看您的服务URL并尝试像应用程序联合供稿一样处理它并返回错误。

您检测到更新后需要调用Engine.SetUpdate,然后使用UpdateReplace的InstallAction调用Plan。