Command Line Interface | Qt Installer Framework Manual

- Qt Installer Framework Manual
- Command Line Interface

Reference ◦ Configuration File

# 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.

Option | Usage
--- | ---
-?, -h, –help | Displays help.
-v, –version | Displays version information.
-d, –verbose | Verbose 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-proxy | Use system proxy on Windows and Linux. This option has no effect on macOS. (Default)
–np, –no-proxy | Do not use system proxy.
–su, –start-updater | Start 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-manager | Start 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-uninstaller | Start 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.
–oi, –offline-installer-name <filename> | [CLI] Set custom filename for the generated offline installer. Without this the original filename is used with an added "_offline-yyyy-MM-dd" suffix.
-p, –platform <plugin> | Use the specified platform plugin.
–nf, –no-force-installations | Allow deselecting components that are marked as forced.
–nd, –no-default-installations | Deselects components that are marked as default.
–ns, –no-size-checking | Disable checking of free space for the installation target.
–sv, –show-virtual-components | Show virtual components in the installer and the package manager.
-i, –install-compressed-repository <file,...> | 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-repository | Create a local repository inside the installation directory. This option has no effect on online installers.
–fp, –filter-packages <element=regex,...> | [CLI] Comma separated list of additional key-value pair filters used to query packages with the search command. The keys can be any of the possible package information elements, like `DisplayName` and `Description`.
–cp, –cache-path <path> | Sets the path used for local metadata cache. The path must be writable by the current user.
–type package|alias | [CLI] Sets the type of the given arguments for commands supporting multiple argument types, like search. Defaults to alias.
–am, –accept-messages | [CLI] Accepts all message queries without user input.
–rm, –reject-messages | [CLI] Rejects all message queries without user input.
–aa, –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`.
–da, –default-answer | [CLI] Automatically answers to message queries with their default values.
–al, –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`.
-c, –confirm-command | [CLI] Confirms starting of installation, update or removal of components without user input.
-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>`.
–mco, –max-concurrent-operations <threads> | Specifies the maximum number of threads used to perform concurrent operations in the unpacking phase of components. Set to a positive number, or 0 (default) to let the application determine the ideal thread count from the amount of logical processor cores in the system.

## Summary of Commands

Command | Usage
--- | ---
in, install <pkg|alias ...> | Install packages and aliases given as an argument. If no arguments are given, install the default package set.
ch, check-updates | Show 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, list <regexp for pkg> | List information about currently installed packages.
se, search <regexp for pkg|alias> | Search available aliases or packages. If no search pattern is given, show all available packages. Note: The `--filter-packages` option can be used to specify additional filters for the search operation. See Summary of Options. Note: The `--type` option can be used to specify the content type to search. See Summary of Options.
co, create-offline <pkg ...> | Create offline installer from selected packages.
cc, clear-cache | Clear contents of the local metadata cache.
pr, purge | Uninstall all packages and remove the program directory.

Reference ◦ Configuration File