查找更新版本的应用程序

Application that looks up for a newer version

本文关键字:应用程序 新版本 更新 查找      更新时间:2023-10-16

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

  1. 给你自己一个便宜的低于10美元一个月的托管web服务器
  2. 在它上面创建一个文件-也许叫它"myappname.version"
  3. 把版本信息放进去,一些文本显示给用户&告诉用户从哪里获取新版本的URL
  4. 在你的应用程序中,做一个http请求从你的网站获得该文件-看看内置的winapi URLOpenStream或URLDownloadToFile
  5. 检查当前应用程序版本与您下载的
  6. 如果有新版本可用-告诉用户

高级安装程序,专业版,有一个内置的更新程序,正是你需要的。这个图表解释了它是如何工作的。您可以免费试用30天,只要确保您创建的是专业项目类型或更高级别。

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

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

这也可以通过高级安装程序来完成,在"更新程序"页面中有一个名为"安装前检查更新"的复选框。

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

这是一个很完整的例子

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

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