Using from Command Line
Qt Installer Framework 4.0.0 introduces a new command line interface workflow. Most of the end user use cases can now be performed using a text based interface, either interactively, or unattended by specifying the desired options beforehand. This topic describes the basic use cases. For more information about the syntax and a description of all supported options, see Command Line Interface.
Installing Components
Both the installer and the maintenance tool support installation of new components from command line. The following will install the components given as an argument and their respective dependencies:
maintenancetool.exe install componentA componentB componentC
If no components are specified, the default set of components will be installed instead. This includes components with elements <Default>
or <ForcedInstallation>
set to true
. The default installation can be only done with an installer binary. The --root
option can be used to select an installation target directory:
installer.exe --root "C:\Users\MyUser\MyInstallation" install
The install command can be also used for installing component aliases. If component aliases are specified, the aliased components are selected for installation:
maintenancetool.exe install alias1 alias2
Checking for Available Updates
To print information about available component updates, run the check-updates
command with the maintenance tool:
maintenancetool.exe check-updates
Updating Components
Running update
without arguments will update all components that have an update available. Essential and ForcedUpdate components are always updated first, same way as when launching the updater from GUI. After Essential and ForcedUpdate components are updated, the installer needs to be restarted for other updates. To update only a specific subset of installed components, they can be provided as an optional argument for update
:
maintenancetool.exe update componentA componentB
Uninstalling Components
The remove
command can be used to uninstall selected components. This will automatically uninstall their children and other components depending on the components about to be uninstalled:
// This would also automatically uninstall componentC.subcomponent1, componentC.subcomponent2,... maintenancetool.exe remove componentC
Listing Installed Components
To get a list and print additional information about currently installed components, run the list
command with the maintenance tool. The command also accepts an optional regular expression argument to filter the shown component list.
maintenancetool.exe list
Searching for Available Components
The search
command can be used to search components from available repositories, or from integrated binary content in case of an offline installer. It can be used with no arguments to list all available components or with a regular expression to get a list of only components matching the pattern.
The --filter-packages
option can be used to specify additional filters for the search operation. For a list of usable information elements with the option, refer to Summary of Package Information File Elements.
When the value of the --type
option is set to package
, the search command will search for available components only:
installer.exe --type package --filter-packages "DisplayName=MyComponent, Version=1.0" search "expression"
When the --type
option is omitted, the search command will first search for matching component aliases, and if none are found, component names:
installer.exe search "expression"
When the value of the --type
option is set to alias
, the search command will search for available component aliases only:
installer.exe --type alias search "expression"
Performing Full Uninstallation
To uninstall all components and remove the program directory, including maintenance tool, run purge
command:
maintenancetool.exe purge
Creating Custom Offline Installers
To create a personal offline installer containing a selected set of components from online repositories, use the create-offline
command. This is a useful feature for scenarios where the same installation content will be deployed multiple times or on several machines, as it saves time spent on downloading component archives and enables easily reproducible installations. The --offline-installer-name
option can be used to set a desired name for the generated offline installer.
Note that you can create offline installers only from online installers with valid repositories enabled.
installer.exe --root "C:\TargetFolder" --offline-installer-name "MyInstaller" create-offline componentA componentB
Clearing the Local Cache
Online installers and maintenance tools created with the Qt Installer Framework cache the meta information downloaded from remote repositories to local disk. This improves loading times for subsequent metadata downloads.
The cache may grow in size over time. To clear the contents of the entire cache, use the clear-cache
command:
maintenancetool.exe clear-cache
Unattended Usage
By default, the generated installers may ask for additional information during installation, which requires user attention. Unattended usage is possible by providing all information beforehand with appropriate options:
installer.exe --root "C:\MyInstallation" --accept-licenses --default-answer --confirm-command install componentA
In this example, --accept-licenses
is used to automatically accept all license agreements required by components to be installed. The --default-answer
option is used to answer all message queries with their default answer. Alternatively, --accept-messages
and --reject-messages
can be used to accept or reject all message queries. To provide unique answers for individual queries, for example to confirm overwriting of an existing directory, you could use --auto-answer OverwriteTargetDirectory=Yes
. Automatic answers are shown on the console output and installation log.
By default, the installer and maintenance tool will print a summary of components to be affected by the command and then ask for permission to continue performing the action, to prevent accidental changes. For unattended usage, this can be skipped by using the --confirm-command
option.
© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. The Qt Company, Qt and their respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.