qt auto-update qt-installer

Qt Installer Framework: actualización automática



auto-update qt-installer (2)

Actualmente estoy usando el Qt Installer Framework y logré configurar un repositorio en línea. Lo que quiero saber es:

¿Proporciona el Marco algún tipo de mecanismo de "actualización automática", por ejemplo, un complemento / servicio que busca actualizaciones cada vez que se inicia el programa / sistema?
Buscar actualizaciones sería suficiente, ya que la instalación en sí misma se puede hacer usando la herramienta de mantenimiento.

Todo lo que pude encontrar sobre este tema fue esta pequeña oración:

Los usuarios finales pueden usar la herramienta de mantenimiento para instalar componentes adicionales desde el servidor después de la instalación inicial, así como para recibir actualizaciones automáticas del contenido tan pronto como se publiquen las actualizaciones en el servidor.

desde aquí: http://doc.qt.io/qtinstallerframework/ifw-overview.html#choosing-installer-type

¡Gracias por tu ayuda!

Editar: Sugerencia
Con base en la respuesta aceptada de esta pregunta, creé una pequeña biblioteca para buscar actualizaciones automáticamente usando el marco de trabajo del instalador - https://github.com/Skycoder42/QtAutoUpdater



Lo que hago, es ejecutar la herramienta de mantenimiento usando QProcess, y luego verificar la salida. Tiene un modo en el que no ejecuta la GUI pero solo genera información de actualización si está disponible.

Tenga en cuenta que configuro el directorio de trabajo para la ruta de la aplicación cuando se inician las aplicaciones, por lo que puedo ejecutar maintenancetool.

QProcess process; process.start("maintenancetool --checkupdates"); // Wait until the update tool is finished process.waitForFinished(); if(process.error() != QProcess::UnknownError) { qDebug() << "Error checking for updates"; return false; } // Read the output QByteArray data = process.readAllStandardOutput(); // No output means no updates available // Note that the exit code will also be 1, but we don''t use that // Also note that we should parse the output instead of just checking if it is empty if we want specific update info if(data.isEmpty()) { qDebug() << "No updates available"; return false; } // Call the maintenance tool binary // Note: we start it detached because this application need to close for the update QStringList args("--updater"); bool success = QProcess::startDetached("maintenancetool", args); // Close the application qApp->closeAllWindows();