0

我目前正在为我的 C++ 应用程序 VS2010 开发安装程序。我想集成我在其他应用程序上看到的功能。该功能是它检查更新的版本,如果有更新的版本,它会提示用户下载它。是否有任何现成的组件可以帮助我完成这项任务?关于我应该看什么的任何建议?

4

4 回答 4

1

Advanced Installer专业版有一个内置更新程序,可以完全满足您的需要。这张图解释了它是如何工作的。您可以免费试用 30 天试用版,只需确保您创建了专业项目类型或更高版本。

您可以使用快捷方式、计划任务运行更新程序,或将其直接集成到您的应用程序中。

至于来自 WiX 工具集的更新程序,这有点不同。这是对安装程序包的更新程序支持,因此如果用户下载了您的应用程序,但在一个月后安装了它,同时您发布了新版本,它将能够自动获取您发布的应用程序并安装它。

这也可以通过高级安装程序完成,您需要在“更新程序”页面中勾选一个名为“安装前检查更新”的复选框。

于 2013-05-08T15:05:16.543 回答
1
  1. 给自己一个每月不到 10 美元的廉价托管网络服务器
  2. 在其上创建一个文件 - 也许将其称为“myappname.version”
  3. 将版本信息放入其中,向用户显示一些文本以及告诉用户在哪里获取新版本的 URL
  4. 在您的应用程序中,发出 http 请求以从您的网站获取该文件 - 查看内置的 WinAPI URLOpenStream 或 URLDownloadToFile
  5. 根据您下载的内容检查当前的应用程序版本
  6. 如果有更新的版本可用 - 告诉用户它
于 2013-05-07T17:53:32.433 回答
0

在 WiX 工具集 v3.7+ 中,引导程序(又名:Burn)有一种机制来检测更新是否可用并安装它而不是当前运行的捆绑包。这是很多细节,但您可以在WiX 工具集的 wix37 或更高版本的分支中的 src\Setup\WixBA\UpdateViewModel.cs 中查看回调以及它们是如何实现的。

这是一个非常完整的例子。

于 2013-05-07T15:51:41.780 回答
0

在 NSIS 中没有现成的组件(因为有很多变量)。

但是 NSIS 有几个很棒的插件用于处理互联网(下载)和文件(修补),因此可以为自定义下载器/更新器编写简单的脚本。

于 2013-05-09T06:32:37.223 回答