代码之家  ›  专栏  ›  技术社区  ›  Brian ONeil

用wix安装自更新应用程序?

  •  21
  • Brian ONeil  · 技术社区  · 17 年前

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

    我看过 ClickThrough 但它似乎还没有准备好迎接黄金时间。有没有其他好的解决方案可以与Wix(或其他安装程序)一起使用,以自动更新应用程序安装?

    3 回复  |  直到 16 年前
        1
  •  10
  •   Rob Mensching    17 年前

    是的,点击率真的是你要找的。其中有些零碎的东西是有用的。您可能能够剖析代码并自己使用它,而不需要所有额外的“UI+构建集成”。大多数错误都在更高的级别。在根目录下,RSS更新和可执行引导程序工作正常。

        2
  •  4
  •   marc_s MisterSmith    17 年前

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

    我们使用wix(2.0)来安装一个需要反复安装的应用程序。只要你从一个版本升级到另一个版本,那就很好了——你可以卸载旧版本,然后重新安装新版本——这里没有什么大问题。

    关键是要有一个稳定的“升级代码”(wix中的一个guid),它永远不会改变——这是应用程序的关键——并且要为每个版本都有一个新的产品代码。

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

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

    就这样!

    除此之外——没什么好说的了——它只是起作用了:—)

    马克

        3
  •  3
  •   saschabeaumont    17 年前

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

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