Command Line Interface

Installers created with the Qt Installer Framework have the following command line interface syntax:

installer.exe [options] command <args> <key=value>

Here [options] is one or a combination of supported options in either short or long form. In addition some options may require mandatory value(s) that can be passed using the assignment operator or space.

The command is one of the supported command line installer operations to be run headless in text mode. Some commands may be provided with optional <args> separated by space. The <key=value> list is used to set internal key-value pairs by the framework.

Installer will return an exit code after it is executed. Exit code can be used to determine whether the installation was successful, if the installation has an mandatory update etc. See PackagemanagerCore::Status.

Summary of Options

Options marked with CLI are only available when running in headless mode, the rest of the options can be used also in graphical mode. For the most up-to-date list of available options with a specific version of Qt Installer Framework, refer --help option output of installerbase.

OptionUsage
-?, -h, --helpDisplays help.
-v, --versionDisplays version information.
-d, --verboseVerbose mode. Prints out more information.
-g, --logging-rules <rules>Enables logging according to passed rules. Comma separated logging rules have the following syntax: loggingCategory=true/false. Passing empty logging rules enables all logging categories. The following rules enable a single category: ifw.*=false, ifw.category=true. The available logging categories can be referenced with --help option.
--ar, --add-repository <URI,...>Add a local or remote repository to the list of user defined repositories.
--at, --add-temp-repository <URI,...>Add a local or remote repository to the list of temporary available repositories.
--st, --set-temp-repository <URI,...>Set a local or remote repository as temporary repository, it is the only one used during fetch. Note: a URI must be prefixed with the protocol, i.e. file:///, https://, http:// or ftp://.
--sp, --system-proxyUse system proxy on Windows and Linux. This option has no effect on macOS. (Default)
--np, --no-proxyDo not use system proxy.
--su, --start-updaterStart application in updater mode. This will override the internal marker that is used to distinguish which kind of binary is currently running.
--sm, --start-package-managerStart application in package manager mode. This will override the internal marker that is used to distinguish which kind of binary is currently running.
--sr, --start-uninstallerStart application in uninstaller mode. This will override the internal marker that is used to distinguish which kind of binary is currently running.
-t, --root <directory>[CLI] Set the installation root directory.
-p, --platform <plugin>Use the specified platform plugin.
--nf, --no-force-installationsAllow deselecting components that are marked as forced.
--no-default-installationsDeselects components that are marked as default.
--ns, --no-size-checkingDisable checking of free space for the installation target.
--sv, --show-virtual-componentsShow virtual components in the installer and the package manager.
-i, --install-compressed-repository <URI,...>Installs a QBSP or a 7z file. The QBSP (Board Support Package) file must be a .7z file which contains a valid repository.
-c, --create-local-repositoryCreate a local repository inside the installation directory. This option has no effect on online installers.
--accept-messages[CLI] Accepts all message queries without user input.
--reject-messages[CLI] Rejects all message queries without user input.
--auto-answer <identifier=value>[CLI] Automatically answers the message queries with the message identifier and a button value. Several identifier=value pairs can be given separated with a comma, for example --auto-answer message.id=Ok,message.id2=Cancel.
--default-answer[CLI] Automatically answers to message queries with their default values.
--accept-licenses[CLI] Accepts all licenses without user input.
--file-query <identifier=value>[CLI] Automatically sets the QFileDialog values getExistingDirectory() or getOpenFileName() requested by the install script. Several identifier=value pairs can be given separated with a comma, for example --file-query filedialog.id=C:Temp,filedialog.id2=C:Temp2.
-s, --script <file>Execute the script given as an argument.
--ss, --start-server <mode, socketname, key>Starts the application as headless process waiting for commands to execute. Mode can be DEBUG or PRODUCTION. In the DEBUG mode, the option values can be omitted. Note: The server will not shutdown on its own, you need to quit the process by hand.
--sc, --start-client <socketname, key>Starts the application to debug the client-server communication. If a value is omitted, the client will use a default instead. Note: The server process is not started by the client application in that case, you need to start it on your own.
-q, --squish-port <port number>Give a port where Squish can connect to. If no port is given, default port 11233 is used. Note: To enable Squish support, you first need to build IFW with SQUISH_PATH parameter where SQUISH_PATH is pointing to your Squish installation folder: <path_to_qt>/bin/qmake -r SQUISH_PATH=<pat_to_squish>.

Summary of Commands

CommandUsage
in, install <pkg ...>Install packages given as an argument. If no packages are given, install the default package set.
ch, check-updatesShow information about available updates on the maintenance tool.
up, update <pkg ...>Update packages given as an argument. If no packages are given, install all available updates.
rm, remove <pkg ...>Uninstall selected packages and their child components.
li, listList information about currently installed packages.
se, search <regexp>Search available packages. If no search pattern is given, show all available packages.
pr, purgeUninstall all packages and remove the program directory.

© 2018 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.