F'x*_*F'x 49 qt cross-platform auto-update
我喜欢能够在没有用户任何努力的情况下更新自己的应用程序(想想:适用于Mac的Sparkle框架).在Qt应用程序中是否可以使用任何代码/库来执行此操作,而不必担心操作系统的详细信息?
至少对于Windows,Mac和用户拥有的Linux二进制文件.
我可以在Mac版本上集成Sparkle,为Linux案例编写代码(仅用于独立的,用户拥有的二进制文件; 如果我的程序打包,我不会搞乱分发包装),并找人帮助我Windows方面,但这非常痛苦.
Rob*_*ght 21
它不是一个完整的解决方案,但可以通过https://github.com/mendeley/Update-Installer获得用于创建自动更新和安装包的跨平台(Windows,Mac,Linux)工具.此工具不处理发布更新或下载它们.
这是为了与基于Qt的应用程序一起使用,但为了使更新安装程序小巧,独立且易于构建,安装程序仅使用标准系统库(Linux/Mac上的C++运行时,pthreads/libz/libbz2,Windows上的Win32 API) ,Mac上的Cocoa,Linux上的后备版GTK.这简化了交付更新,包括新版本的Qt和您的应用程序可能依赖的其他非系统库.
在考虑这个之前,我会建议:
Sparkle
在Mac上,Google's Omaha
在Windows上或内置于流行安装框架中的自动更新系统(例如InstallShield).我没有尝试过BitRock.关于创建更新程序的一些其他说明: