【发布时间】:2013-05-07 15:12:31
【问题描述】:
我目前正在为我的 C++ 应用程序 VS2010 开发安装程序。 我想集成我在其他应用程序上看到的功能。该功能是它检查更新的版本,如果有更新的版本,它会提示用户下载它。是否有任何现成的组件可以帮助我完成这项任务?关于我应该看什么的任何建议?
【问题讨论】:
标签: c++ installation windows-installer
我目前正在为我的 C++ 应用程序 VS2010 开发安装程序。 我想集成我在其他应用程序上看到的功能。该功能是它检查更新的版本,如果有更新的版本,它会提示用户下载它。是否有任何现成的组件可以帮助我完成这项任务?关于我应该看什么的任何建议?
【问题讨论】:
标签: c++ installation windows-installer
【讨论】:
Advanced Installer,专业版,有一个built-in updater,可以满足您的需求。 This diagram 解释了它是如何工作的。您可以免费试用 30 天,只要确保您创建的是专业项目类型或更高版本。
您可以使用快捷方式、计划任务或integrate it directly in your application 运行更新程序。
关于来自 WiX 工具集的更新程序,这有点不同。这是对安装程序包的更新程序支持,因此如果用户下载了您的应用程序,但在一个月后安装了它,同时您发布了新版本,它将能够自动获取您发布的应用程序并安装它。
这也可以通过高级安装程序完成,您需要在“更新程序”页面中勾选一个名为“安装前检查更新”的复选框。
【讨论】:
在 WiX 工具集 v3.7+ 中,引导程序(又名:Burn)具有检测更新可用并安装该更新而不是当前运行的捆绑包的机制。这是很多细节,但您可以在WiX toolset 的 wix37 或更高版本的分支中的 src\Setup\WixBA\UpdateViewModel.cs 中查看回调以及它们是如何实现的。
这是一个非常完整的例子。
【讨论】:
在 NSIS 中没有现成的组件(因为有很多变量)。
但是 NSIS 有几个很棒的插件用于处理互联网(下载)和文件(修补),因此可以为自定义下载器/更新器编写简单的脚本。
【讨论】: