2010-12-27 7 views
5

Ich verwende Qt, um eine plattformübergreifende GUI-App (Windows und Mac) zu erstellen. Ich möchte die App effizient und automatisch aktualisieren können, sobald ein neuer Patch verfügbar ist.Cross Platform Auto Updater

Ich sah this Beitrag, der mich dazu gebracht hat, einen Blick auf WyBuild zu werfen. Es sieht gut aus und wahrscheinlich, was ich am Ende für die Windows-Version verwenden könnte, aber was ist mit Mac? Welche Alternativen gibt es für mich?

Antwort

2

Für Mac ist die beste Wahl Sparkle von WebKit, Adium, Cyberduck und mehr verwendet. Es ist nur für Mac, aber ich denke, dass natives Aussehen auf Mac sehr wichtig ist.

1

Nicht vertraut mit WyBuild also kann nicht kommentieren. Sparkle ist eine gute Wahl, aber das Poster bevorzugte eine einzelne App für beide Plattformen. BitRock InstallBuilder enthält einen in Qt geschriebenen Autoupdater, der unabhängig verwendet werden kann (Disclaimer, ich bin der ursprüngliche BitRock-Entwickler). Es ist eine kommerzielle App, aber wir haben freie Lizenzen für Open-Source-Projekte.

4

Ich habe gerade angefangen, einen Qt-basierten Autoupdater namens Fervor für meine eigenen Bedürfnisse zu entwickeln. Sie können es ausprobieren, auch die Beiträge sind mehr als willkommen.

1

Es gibt Updatenode, die eine echte Qt Cross-Plattform-Lösung zu bieten scheint.

Es kommt mit einem vorgefertigten Client für Windows, Mac und Linux. Mit dem Online-Service können Sie Updates sehr einfach verwalten und gute Diagramme Ihrer Anwendungsnutzung sehen.

+0

verwenden, aber Sie sind gezwungen, die Updatenode-API für kommerzielle Produkte zu verwenden. Es ist nur kostenlos für Open-Source-Produkte. Siehe https://www.updatenode.com/main#pricing –

0

Dies ist offensichtlich, aber für Linux können Sie den integrierten Paketmanager verwenden. Zum Beispiel apt-get, yum, pacman, oder was haben Sie.

1

Und hier eine weitere der Möglichkeiten:

Mit der Qt Installer Framework: Es bietet Installateure für Windows/Linux/Mac mit einem Build-in-Updater. Wenn Sie ein Beispiel benötigen - Das MaintenanceTool Ihrer Qt-Installation verwendet das Framework.

Um ein Auto-Updater von ihm zu bekommen alles, was Sie tun müssen, ist:

  • Erstellen Sie eine Online-Installer (Just in der Dokumentation überprüfen, es ist nicht so schwer)
  • Verwenden Sie die maintenancetool in Ihrer Anwendung um nach Updates zu suchen.
    • Dieser Stock kann mit meiner QtAutoUpdater getan werden. Gehen Sie dort hin, um weitere Informationen über den gesamten Prozess
    • Wenn neue Updates verfügbar sind, kann der maintenancetool in Aktualisierungsmodus gestartet werden, um das Update
  • Update, um das Online-Repository zu installieren - und das Update ist raus.

Vorteile:

  • Installer und Updater in 1 Werkzeug - bedeutet dies, weniger Arbeit für Sie
  • Einfach zu bedienen (mit oder ohne QtAutoUpdater Bibliothek)
  • Cross-Platform für alle Desktop von Qt unterstützten Plattformen
  • Das Installationsprogramm selbst ist ein Qt original

Nachteile:

  • Keine "native" Installationsprogramme (z. keine .msi auf Windows oder .deb auf ubuntu)
  • müssen zusammen verwendet werden - wenn Sie die Update-Funktion verwenden möchten, müssen Sie den Rahmen als Installateur lizenziert eine nette GPL sein Dies könnte QT-Client