21

我正在编写一个需要安装在大量桌面上并且还需要自行更新的应用程序。我们正在寻找用于创建安装的 WIX。我使用了 ClickOnce,它不是这个安装的好解决方案。WIX 似乎很合适,但我发现没有很好的自动更新过程。

我看过ClickThrough,但它似乎还没有准备好迎接黄金时段。有没有人有另一个很好的解决方案可以与 WIX(或者可能是另一个安装程序)一起使用来自动更新应用程序安装?

4

3 回答 3

11

是的,ClickThrough 确实是您在这里寻找的。里面有一些零碎的东西。您也许可以剖析代码并自己使用它,而无需所有额外的“UI + 构建集成”。大多数错误都在更高级别。在根目录下,RSS 更新和可执行引导程序工作正常。

于 2009-05-07T04:59:10.500 回答
7

它必须如何“自动”更新?:-)

我们将 WiX (2.0) 用于需要反复安装的应用程序。只要您从一个版本到另一个版本进行“重大升级”,就可以正常工作-您可以卸载旧版本,然后重新安装新版本-这里没有大问题。

关键是要有一个永不改变的稳定“UpgradeCode”(WiX 中的 GUID)——它是你的应用程序的关键——并且每个版本都有一个新的 ProductCode。

然后,在您的 wxs 文件中,您需要两个位:

<Upgrade Id='--your-updatecode-GUID-here--'>
    <UpgradeVersion MigrateFeatures='yes' RemoveFeatures='ALL' />
</Upgrade>

<InstallExecuteSequence>
  <RemoveExistingProducts After='InstallInitialize' />
</InstallExecuteSequence>

应该这样做!

除此之外 - 没什么好说的 - 它只是有效:-)

于 2009-04-28T15:38:00.023 回答
4

Windows Installer 并不是真正为“自我更新”软件而设计的。如果您不需要 MSI,或者真的需要应用程序“拉”它自己的更新,那么使用NSIS或其他工具并编写您自己的更新例程/服务。

但是,如果它安装在单个组织内的大量桌面上,那么更好的解决方案是通过 Active Directory 部署 MSI。然后,您可以使用组策略“推出”更新。这将比任何自我更新的应用程序更强大。

于 2009-04-28T23:36:54.677 回答