从命令行使用

Qt 安装程序框架 4.0.0 引入了一种新的命令行界面工作流程。大多数最终用户用例现在可以使用基于文本的界面执行,无论是交互式还是通过预先指定所需选项的无提示方式。本主题描述了基本用例。有关语法和所有支持选项的描述,请参见命令行界面

安装组件

安装程序和维修工具都支持从命令行安装新组件。以下命令将安装作为参数给出的组件及其相应的依赖项

maintenancetool.exe install componentA componentB componentC

如果没有指定组件,将安装默认组件集。这包括元素 <默认><ForcedInstallation> 设置为 true 的组件。默认安装只能使用安装程序二进制文件完成。可以使用 --root 选项选择安装目标目录

installer.exe --root "C:\Users\MyUser\MyInstallation" install

安装命令也可以用于安装组件别名。如果指定了组件别名,则选择安装别名的组件

maintenancetool.exe install alias1 alias2

检查可用更新

要打印有关可用组件更新的信息,请使用维修工具运行 check-updates 命令

maintenancetool.exe check-updates

更新组件

在没有参数的情况下运行 update 将更新所有有更新的组件。基本和强制更新组件始终首先更新,就像从 GUI 启动更新程序一样。更新基本和强制更新组件后,需要重新启动安装程序才能更新其他组件。要仅更新已安装组件的特定子集,可以将它们作为 update 的可选参数提供

maintenancetool.exe update componentA componentB

卸载组件

可以使用 remove 命令卸载选定的组件。这将自动卸载它们的子组件和其他依赖的组件

// This would also automatically uninstall componentC.subcomponent1, componentC.subcomponent2,...
maintenancetool.exe remove componentC

列出已安装组件

要获取有关当前已安装组件的列表并打印其他信息,请使用维修工具运行 list 命令。该命令还接受一个可选的正则表达式参数,用于筛选显示的组件列表。

maintenancetool.exe list

搜索可用组件

可以使用 search 命令从可用存储库中搜索组件,或在离线安装程序的情况下从集成二进制内容中搜索。它可以不带参数使用以列出所有可用组件,或者使用正则表达式以仅获取与模式匹配的组件列表。

可以使用 --filter-packages 选项来指定搜索操作中使用的额外过滤器。有关该选项可用的信息元素列表,请参阅 包信息文件元素摘要

--type 选项的值设置为 package 时,搜索命令将仅搜索可用的组件。

installer.exe --type package --filter-packages "DisplayName=MyComponent, Version=1.0" search "expression"

如果省略了 --type 选项,搜索命令将首先搜索匹配的组件别名,如果没有找到,则搜索组件名称。

installer.exe search "expression"

--type 选项的值设置为 alias 时,搜索命令将仅搜索可用的组件别名。

installer.exe --type alias search "expression"

执行完全卸载

要卸载所有组件并删除程序目录(包括维护工具),运行 purge 命令。

maintenancetool.exe purge

创建自定义离线安装程序

要创建一个包含在线存储库中选定组件的个人离线安装程序,请使用 create-offline 命令。这对于需要在多个时间或多个机器上部署相同安装内容的情况非常有用,因为它可以节省下载组件存档的时间,并允许易于重复的安装。可以使用 --offline-installer-name 选项为生成的离线安装程序设置所需的名称。

注意,您只能从启用了有效存储库的在线安装程序创建离线安装程序。

installer.exe --root "C:\TargetFolder" --offline-installer-name "MyInstaller" create-offline componentA componentB

清除本地缓存

使用 Qt 安装框架创建的在线安装程序和维护工具将远程存储库下载的元信息缓存到本地磁盘。这提高了后续元信息下载的加载时间。

缓存的大小可能会随时间增长。要清除整个缓存的全部内容,请使用 clear-cache 命令。

maintenancetool.exe clear-cache

无人值守使用

默认情况下,生成的安装程序在安装过程中可能会请求额外的信息,这需要用户的注意。通过提供适当的选项,可以事先提供所有信息以实现无人值守使用。

installer.exe --root "C:\MyInstallation" --accept-licenses --default-answer --confirm-command install componentA

在本例中,使用 --accept-licenses 自动接受安装所需的组件的所有许可协议。使用 --default-answer 选项以默认答案回答所有消息查询。或者,可以使用 --accept-messages--reject-messages 接受或拒绝所有消息查询。如果需要为个别查询提供独特答案,例如确认覆盖现有目录,可以使用 --auto-answer OverwriteTargetDirectory=Yes。自动答案将在控制台输出和安装日志中显示。

默认情况下,安装程序和维护工具将打印受命令影响的组件摘要,然后请求继续执行操作的权限,以防止意外更改。对于无人值守使用,可以通过使用 --confirm-command 选项来跳过此步骤。

©2021 Qt 公司有限公司。此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基金会发布的 GNU 自由文档许可版 1.3 的条款进行许可。Qt 公司、Qt 及其相应标志是芬兰及其它全球国家的 Qt 公司有限公司的商标。所有其他商标均为各自所有者的财产。