我正在尝试使用SWUpdate工具来更新我的应用程序。我已经用ssh命令行创建了我的.swu包,它运行得很好。我需要从我的Qt应用程序中启动更新。我该怎么做?
也许我可以启动QProcess::execute("swupdate -i /run/media/AppUpdate.swu"),但它仍然不起作用。
如何连接安装的Qt SWUpdate API?
谢谢。
发布于 2022-04-13 09:38:44
您没有说明所使用的Qt版本。最近的调用不推荐使用QProcess::execute调用(程序名和一个字符串中的参数)。
试试这个:
QProcess* proc = new QProcess;
proc->setProgram("swupdate");
proc->setArguments(QStringList({"-i", "path/to/your/update.swu"});
proc->start();
if (!proc->waitForStarted())
qCritical() << "failed to start swupdate: " << proc->errorString();
/*optional: block/wait for swupdate to finish*/
proc->waitForFinished(-1);我还建议实现并连接readyRead信号,并保存/记录swupdate的输出,以防更新过程中出现问题。
https://stackoverflow.com/questions/71841221
复制相似问题