与Qt应用程序的联机安装程序捆绑在一起的维护工具据称可以通过“--checkupdates”标志无恶意运行,如果可用,返回更新信息(请参阅Qt Installer Framework: Auto Update)。不幸的是,即使存在已知的更新,我也无法获得该命令实际返回任何内容。我可以从命令行启动maintenancetool,并且更新可见,但试图使用--checkupdates标志不会产生任何结果。Qt安装程序框架:maintenancetool --checkupdates标志不会返回任何内容
QProcess update;
update.setWorkingDirectory(QDir::currentPath());
update.start("maintenancetool --checkupdates");
// Wait until the maintenancetool is finished
update.waitForFinished();
// Read the output
QByteArray data = update.readAllStandardOutput();
如果删除--checkupdates标志我能得到这个代码来打开maintenancetool,但是数据始终是空的,即使有更新。如果我尝试在命令行中运行进程,它也不会产生任何内容,所以我认为这不是代码问题。有任何想法吗?这里似乎没有很多信息。
您是否尝试过使用命令行进行操作?因为通常您的示例应该可以工作 – Felix
是的,如果我的语言有点含糊不清:使用--checkupdates标志从命令行调用维护工具不会产生输出。 –
通常,这意味着没有更新可用 - 如果您使用UI,您能看到更新吗?如果是,请检查--checkupdates运行的退出代码,如果它为0,则表示已找到更新,如果为1,则表示没有更新。 – Felix