查找更新版本的应用程序
Application that looks up for a newer version
我目前正在为我的c++应用程序VS2010开发安装程序。我想集成我在其他应用程序上看到的一个功能。这个功能是,它检查新版本,如果有新版本,它提示用户下载它。是否有现成的组件可以帮助我完成这项任务?有什么建议吗?
- 给你自己一个便宜的低于10美元一个月的托管web服务器
- 在它上面创建一个文件-也许叫它"myappname.version"
- 把版本信息放进去,一些文本显示给用户&告诉用户从哪里获取新版本的URL
- 在你的应用程序中,做一个http请求从你的网站获得该文件-看看内置的winapi URLOpenStream或URLDownloadToFile
- 检查当前应用程序版本与您下载的
- 如果有新版本可用-告诉用户
高级安装程序,专业版,有一个内置的更新程序,正是你需要的。这个图表解释了它是如何工作的。您可以免费试用30天,只要确保您创建的是专业项目类型或更高级别。
您可以通过快捷方式运行更新程序,计划任务或将其直接集成到您的应用程序中。
关于WiX工具集的更新程序,这有点不同。这是对安装包的更新支持,所以如果用户下载了你的应用程序,但在一个月后安装它,同时你发布了一个新版本,它将能够自动获取你发布的版本并安装它。
这也可以通过高级安装程序来完成,在"更新程序"页面中有一个名为"安装前检查更新"的复选框。
在WiX工具集v3.7+中,引导程序(又名:Burn)有一种机制来检测可用的更新并安装它而不是当前运行的包。这是很多细节,但你可以看到回调,以及它们是如何实现在srcSetupWixBAUpdateViewModel.cs在wix37或更高版本的WiX工具集分支。
这是一个很完整的例子
在NSIS中没有现成的组件(因为有很多变量)。
但是NSIS有几个很棒的插件用于互联网(下载)和文件(修补),所以可以为自定义下载/更新程序编写简单的脚本。
相关文章:
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 适用于 WebView2 旧版本的示例应用程序
- 在Visual Studio中单实例Qt应用程序版本5.11.1中,在所有其他窗口的顶部打开Qt MainWindow
- 由于____chkstk_darwin,在Catalina上使用部署10.10编译的MacOS应用程序在HighSierra版本<崩溃
- C++使用较新的编译器构建应用程序,而无需重新构建库
- .exe应用程序在windows10中创建新模块时抛出错误,但在windows7中工作正常
- 一个32位版本的应用程序,建立在CentOS 6 x64上,当在较新的Linux上启动时,在"dl_itera
- Qt 应用程序中与Qt版本相关的运行时错误
- 如何从二进制文件中获取应用程序的版本号?
- 应用程序中的两个不同版本的库
- GCC编译器,为较低版本的GCC编译应用程序
- 部署应用程序,C++,Visual Studio 2015社区版本
- 如果您用新版本覆盖共享库(当前由程序映射)会发生什么
- 在应用程序中加载QT LIB(不同的版本)
- 开发C++应用程序,目标服务器有不同的std lib版本,最佳实践是什么
- 集成在不同VS版本中开发的应用程序
- 如何创建一个新过程,而没有从管理模式运行的MFC应用程序中的管理特权
- 添加新对话框后,MFC 应用程序启动失败并"DLL Initialization Failed"
- 使用WinSparkle更新新版本后,它不会自动启动应用程序
- 如何将QT GUI应用程序的版本打印到主机上