如何在Windows上最好地实现软件更新?

dF.*_*dF. 23 windows installation

我想为Windows应用程序实现一个"自动更新"系统.现在我半手动创建我的程序检查的"appcast",并通知用户新版本可用.(我正在为我的安装人员使用 NSIS).

是否有我可以使用的软件将处理更新的"自动"部分,可能类似于 Mac上的Sparkle?我应该注意哪些问题/陷阱?

Vác*_*vík 12

现在有一个Sparkle的Windows端口,请参阅http://winsparkle.org.

  • 另一个是SparkleDotNet,网址是http://bitbucket.org/ikenndac/sparkledotnet/wiki/Home (2认同)

Sör*_*lau 7

没有像Sparkle那样平滑的解决方案(我知道).

如果您需要简单的部署和更新应用程序,ClickOnce是一个选项.不幸的是,它不灵活(例如,没有每台机器安装而不是每个用户),不透明(你对其部署实际工作方式的影响和清晰度和控制很少)和非标准(它存储安装的应用程序的路径)不像Windows上的任何其他东西).

更接近你所要求的是ClickThrough,这是WiX的一个副项目,但我不确定它是否还在开发中(如果是的话,他们应该更清楚......) - 它会在任何情况下都使用MSI ,而不是NSIS.

你可能最好自己滚动一些东西.我很想看到一个类似Sparkle的Windows项目,但到目前为止似乎没有人给它一个机会.

  • "ClickThrough有一些重要的错误,这些错误一直都是针对WiX v4进行的,实质上是ClickThrough无用到那时为止." 资料来源:https://sourceforge.net/mailarchive/message.php?msg_id = DE33023B477FE44EAA71983F5279F6CE500338B5BD%40NA-EXMSG-C102.redmond.corp.microsoft.com (3认同)

Mar*_*ark 5

Google Chrome自动更新基于奥马哈:

http://code.google.com/p/omaha/

他们的概述有很多关于为什么需要它的部分:

浏览器通常会向用户提示一系列技术性,混乱和可怕的对话框,这些对话都试图说服用户不要安装.然后提示用户一个向导,这个向导充满了他们不需要的选项,或者知道如何决定.这些因素相结合,在应用程序安装过程中形成了糟糕的用户体验和大量下降