5

I am using Qt in order to build a cross platform GUI app (Windows and Mac). I want to be able to update the app efficiently and automatically whenever there is a new patch available.

I saw this post which got me to take a look at WyBuild. It looks great and probably what I may end up using for the Windows version but what about Mac? What are some alternatives available to me?

Community
  • 1
  • 1
Dave
  • 7,283
  • 12
  • 55
  • 101

6 Answers6

4

I've just started developing a Qt-based autoupdater called Fervor for my own needs. You can try it out, contributions are more than welcome too.

Linas Valiukas
  • 1,316
  • 1
  • 13
  • 23
2

For Mac the best choice is Sparkle used by WebKit, Adium, Cyberduck and more. Its only for Mac but I guess native look matters on Mac a lot.

ismail
  • 46,010
  • 9
  • 86
  • 95
1

There is Updatenode which seems to provide a real Qt cross-platform solution.

It comes with a prebuilt client for Windows, Mac and Linux. The online service lets you manage updates very easy and are able to see good charts of your application usage.

  • 1
    This might be a nice GPL licensed QT client, but you are forced to use the Updatenode API for commerical products. It's only free for open-source products. See https://www.updatenode.com/main#pricing – Jens A. Koch Sep 26 '14 at 17:49
1

And here another one of the possibilities:

Using the Qt Installer Framework: It provides installers for Windows/Linux/Mac with an build-in updater. If you need an example - The MaintenanceTool of your Qt-Installation uses the framework.

To get an auto-updater from it, all you need to do is:

  • Create an online installer (Just check the documentation, it's not that hard)
  • Use the maintenancetool in your application to check for updates.
    • This cane be done using my QtAutoUpdater. Go there for more information about the whole process
    • If new updates are available, the maintenancetool can be started in updater mode to install the update
  • Update the online repository - and your update is out.

Advantages:

  • Installer and updater in 1 tool - this means less work for you
  • Easy to use (with or without the QtAutoUpdater library)
  • Cross-Platform for all desktop platforms supported by Qt
  • The installer itself is a Qt original

Disadvantages:

  • No "native" installers (i.e. no .msi on windows or .deb on ubuntu)
  • Must be used together - if you want to use the update feature, you have to use the framework as installer
Felix
  • 6,885
  • 1
  • 29
  • 54
1

Not familiar with WyBuild so cannot comment. Sparkle is a fine choice but the poster preferred a single app for both platforms. BitRock InstallBuilder contains an autoupdater written in Qt that can be used independently (disclaimer, I am the original BitRock developer). It is a commercial app, but we have free licenses for open source projects.

Daniel Lopez
  • 3,297
  • 2
  • 30
  • 29
0

This may be obvious, but for Linux you can use the built in package manager. For example, apt-get, yum, pacman, or what have you.

Jonathan
  • 6,741
  • 7
  • 52
  • 69