November 09, 2022 by Tino Pyssysalo | Comments
2022年11月9日 Tino Pyssysalo |评论
We are happy to announce about the Qt Installer Framework and Online Installer 4.5 releases today.
我们很高兴今天宣布Qt Installer Framework和Online Installer 4.5版本。
The major improvement is the evaluation of metadata. The situation has been worst in Windows, where there are several toolchains (MinGW, MSVC) to be selected by the user. When all the categories have been selected, selecting all the categories, it has taken several minutes to evaluate all the metadata. This is because
主要的改进是元数据的评估。Windows中的情况最糟糕,用户可以选择多个工具链(MinGW、MSVC)。选择所有类别后,选择所有类别,需要几分钟才能评估所有元数据。这是因为
Downloading and extraction take place in multiple threads.
下载和提取在多个线程中进行。
We measured the metadata evaluation phase and identified some points where excess time was spent. These findings resulted in optimizations affecting the speed of evaluating the install scripts and calculating component dependencies. The improvements are especially noticeable when there's a large number of component metadata to evaluate, such as when all repository categories of the Qt Online Installer are selected and fetched.
我们测量了元数据评估阶段,并确定了一些花费过多时间的点。这些发现导致优化影响了评估安装脚本和计算组件依赖关系的速度。当需要评估大量组件元数据时,例如当选择并获取Qt Online Installer的所有存储库类别时,这些改进尤其明显。
Another significant performance improvement is the metadata cache. Metadata is cached into the file system, which makes subsequent metadata downloads much faster when the repository content hasn't changed on the remote server. Users creating their own installers with the Qt Installer Framework may still opt for a non-persistent cache, to minimize disk space usage. We will consider using the cache for data archives as well. However, there are other issues to be solved like heavily increased need for the disk space for cached archives.
另一个显著的性能改进是元数据缓存。元数据被缓存到文件系统中,当远程服务器上的存储库内容没有更改时,这使得后续元数据下载速度更快。使用Qt安装程序框架创建自己的安装程序的用户仍然可以选择非持久缓存,以最大限度地减少磁盘空间的使用。我们还将考虑将缓存用于数据归档。然而,还有其他问题需要解决,如缓存存档对磁盘空间的需求大幅增加。
With the combined effect of the above mentioned metadata evaluation optimizations and a populated cache, the overall reduction of time spent was over 70% with the Qt Online installer on Linux, when processing all components available for the Qt for Device Creation Enterprise license.
在上述元数据评估优化和填充缓存的综合作用下,当处理Qt for Device Creation Enterprise许可证可用的所有组件时,使用Linux上的Qt Online安装程序,所花费的时间总体减少了70%以上。
We introduced repository categories several versions ago to optimize and limit the amount of metadata archives to be downloaded. Even though the performance has improved, we decided to keep the categories in this version to keep the evaluation times short enough.
我们在几个版本之前引入了存储库类别,以优化和限制要下载的元数据归档的数量。尽管性能有所改善,但我们决定在这个版本中保留类别,以保持评估时间足够短。
Last but not least the Qt baseline for Qt Installer and Maintenance Tool has been updated to Qt 5.15.11.
最后,Qt安装和维护工具的Qt基线已更新为Qt 5.15.11。
We have been working towards providing the Qt Online Installer and Maintenance Tool as universal binaries on macOS, as they are currently x86_64 only. Code signing is now a strict requirement for running ARM binaries on macOS. The previous way of providing Maintenance Tool updates with only the base binary wouldn't work as the whole application bundle needs to be signed. In this release, in addition to the binary, we have added support for updating the Maintenance Tool with an app bundle, which can be signed and used instead of the base binary.
我们一直致力于在macOS上提供Qt在线安装程序和维护工具作为通用二进制文件,因为它们目前仅为x86_64。代码签名现在是在macOS上运行ARM二进制文件的严格要求。以前只使用基本二进制文件提供维护工具更新的方法不起作用,因为整个应用程序包都需要签名。在这个版本中,除了二进制文件之外,我们还添加了对使用应用程序包更新维护工具的支持,该应用程序包可以代替基本二进制文件进行签名和使用。
The problem of installer stalling in a single CPU core machines has been fixed as well.
安装程序在单CPU核心机器中失速的问题也得到了解决。
Installer Framework translations have been updated for changed and new strings in the UI.
安装程序框架翻译已针对UI中的更改字符串和新字符串进行了更新。
To see the complete list of changes, please read the Changelog.
要查看完整的更改列表,请阅读更改日志。
Unrelated to the release, we have decided to start supporting module dependencies. If a module has a build or run-time dependency on another module, the other module is automatically installed as well. We have not done this earlier to optimise the installation package size. However, there are several filed bug reports (for example, RHI plugin not installed without Qt Shader Tools) that a module does not compile or run because of the missing dependencies. From now on the dependencies will be added. The package size will increase, but it is more convenient to get the dependencies automatically than manually add them one by one.
与版本无关,我们决定开始支持模块依赖性。如果一个模块对另一个模块有构建或运行时依赖关系,那么另一个也会自动安装。我们之前没有这样做以优化安装包大小。然而,有几个已归档的错误报告(例如,没有安装Qt着色器工具的RHI插件)表明,由于缺少依赖项,模块无法编译或运行。从现在起,将添加依赖项。包大小将增加,但自动获取依赖项比手动逐个添加更方便
Precompiled binaries for the Installer Framework can be downloaded from Qt Online Installer, sources and binaries can be found also on the Qt Download page (open source) or in Qt Customer Portal for commercial users. The latest documentation can also be found online.
安装程序框架的预编译二进制文件可以从Qt在线安装程序下载,源代码和二进制文件也可以在Qt下载页面(开源)或Qt客户门户中找到,供商业用户使用。最新的文档也可以在网上找到。
The new installer is available in Qt Downloads and Qt Customer Portal for commercial users. Maintenance Tool is updated using the existing installation(s) Maintenance Tool.
商业用户可以在Qt下载和Qt客户门户中找到新的安装程序。使用现有安装维护工具更新维护工具。
Thanks to everyone, who has contributed to the release.
感谢所有为此次发布做出贡献的人。