Command Line Arguments
The default behaviour of the updater if invoked without any CLI arguments is to display the main window if updates are found or message dialogs in case of errors. The following CLI switches are supposed to be used for setting up the updater on the consumer system and customizing it.
Typically called with only once when the bundled product gets installed. Performs self-registration in current users' autostart and daily runs via Task Scheduler. Errors will be logged but the user will not be actively notified. Check the exit code for potential error cases.
Beware of the target directory permissions
If your updater instance gets deployed into a restricted directory (like
Program Files) this command needs to be invoked with administrative privileges or some steps requiring write-permissions will fail.
Prerequisite for self-updating feature
The install routine must be run at least once or the self-update feature will not be available.
Beware of parent path changes
If the updater executable is moved to a different location, this command needs to be issued again at least once.
Can be used in conjunction with the
--install switch to skip the creation of the Scheduled Task. Useful if you rather wish to invoke the updater via your own mechanism, like a button in your product or whatever event works best for you.
Can be used in conjunction with the
--install switch to skip registering in the current users autostart. Useful if you rather wish to invoke the updater via your own mechanism, like a button in your product or whatever event works best for you.
Removes the autostart registration and deletes the scheduled task job.
Skips the self-update procedure, even if a newer version is available.
Suppresses any UI interaction, even when updates are found.
Check the app exit code for status details.
Suppresses any UI, downloads and invokes the latest release found and exits afterwards.
Does nothing if the product is already up to date.
Check exit codes for success or errors
This flag is most useful if you decide to trigger updates directly from your own application.
Make sure to check the exit code to react to possible errors during the update procedure.
Ignores if the user session is busy and displays the main window if updates were found.
Alters the default logging level (
info) to the provided
Possible values are:
Logs to the file specified in
<value> in addition to the default debug sink.
Ensure the target path is writable
Bear in mind that the log file path needs to be writable for the user executing the updater. It will fail silently if it couldn't write to the specified file. See Logging article for more details.
Only available in DEBUG builds
This switch is intended to only work with DEBUG builds as it opens up a huge security problem if distributed to production systems. Any malicious process could attempt to direct the updater to a malignant server trying to then download and execute a payload that might further infect the target machine.
Overrides all other Server Discovery methods. Useful to quickly switch to different update configurations while testing the local debug build. The value is ignored in RELEASE builds, if set.
Specifies an alternate update channel to use. This value will be inserted into the server URL template e.g.
manufacturer/product/channel which allows the caller to switch between remote updater configurations when invoking the updater manually. This can be used to deliver different update mechanisms for Beta or VIP users etc.
The value can be any alphanumeric string excluding the following characters:
'..'(two consecutive dots)
Allows for adding one or more additional HTTP headers to be added to the update server request. This can be used in conjunction with a backend application server to influence delivery of the remote configuration based on certain custom client parameters.
This parameter can be specified multiple times with different name-value-pairs. For example:
--add-header CustomerId=rZnZzZu9wH --add-header ProcessorVendor=AMD --add-header IsVIP=true
Beware of altering
The following arguments are set or removed by other common commands and should not be altered by the user.
Performs tasks on user logon like checking self-integrity and searching for updates.
Tells the updater it's run by Task Scheduler. It will not display any UI except when an update has been found. Errors will be logged but the user will not be actively notified.
The following parameters are passed from the main updater process to the self-updater module.
They can not be altered by the user.
The Process ID of the parent updater process that invoked the self-update module.
The download URL of the latest updater executable. Redirects are supported.
The absolute path to the local updater executable.