Dave
Dave

Reputation: 7623

Cross Platform Auto Updater

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?

Upvotes: 5

Views: 4066

Answers (6)

Felix
Felix

Reputation: 7146

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

Upvotes: 1

Jonathan
Jonathan

Reputation: 7118

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.

Upvotes: 0

user3466281
user3466281

Reputation: 11

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.

Upvotes: 1

Linas Valiukas
Linas Valiukas

Reputation: 1376

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.

Upvotes: 4

Daniel Lopez
Daniel Lopez

Reputation: 3391

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.

Upvotes: 1

ismail
ismail

Reputation: 47662

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.

Upvotes: 2

Related Questions