Command line reference
The program file is kiwisoftware.VeloxFactory.PrintService.App.exe in app\bin. Without parameters it opens the window. All other functions are available as parameters, for the scheduled task, scripts and software distribution.
Parameters
| Parameter | Effect | Exit codes |
|---|---|---|
| (none) | Window, interactive or monitor mode | 0 |
--headless |
Engine without window, for the scheduled task. Never creates a window or dialog. | 0, 1, 2, 3, 10 |
--config <path> |
Alternative configuration file, for several instances per machine. Combines with every other parameter. | |
--console |
Attaches a console window and writes the log to it as well. For debugging an interactive start. | |
--validate-config |
Validates the configuration and runs the connection test (reachability, token, rate limit, printer master data, WebSocket). Prints one line per step. | 0, 1 |
--install-task --user <account> |
Sets up the scheduled task (see Installation and updates). Asks for the password. Administrator rights required. | 0, 4 |
--uninstall-task |
Removes the scheduled task of the instance. Administrator rights required. | 0, 4 |
--test-print <printer> |
Prints the test page on the printer, locally without API. Uses the printer settings and alias of the configuration. | 0, 5 |
--dry-run <folder> |
Starts the engine headless and writes PDFs into the folder instead of printing, nothing is confirmed. Applies to this run only, the configuration is not changed. | like --headless |
--support-package <target.zip> |
Writes the diagnostic package (see Monitoring and troubleshooting). Works while the engine runs. | 0 |
--stop |
Ends engine and windows of the instance gracefully: running print jobs finish, the outbox is flushed. Waits until the engine has ended. Administrator rights required. Used by update.ps1. |
0, 6 |
--help, -h, /? |
Shows the usage | 0 |
- Paths (
--config,--dry-run,--support-package) must be absolute. The Task Scheduler starts inC:\Windows\System32, a relative path would end up there. - Mapped network drives do not exist for the service account. Use local paths or UNC paths.
- An unknown parameter or a missing value prints the usage and ends with exit code 1.
Exit codes
| Code | Meaning |
|---|---|
| 0 | OK, or regular stop of the engine |
| 1 | Configuration invalid, connection test failed, or invalid parameters |
| 2 | The engine of this instance is already running |
| 3 | API token rejected at start |
| 4 | Scheduled task could not be set up or removed (rights, account, password) |
| 5 | Test print failed |
| 6 | Stop failed: no administrator rights or the engine did not end in time |
| 10 | Unexpected error |
Exit codes 1 and 3 of a headless start are visible in the Task Scheduler as Last run result. The Task Scheduler restarts the task every minute; fix the configuration or token, the next start picks it up.
Examples
$exe = "C:\kiwisoftware\VeloxPrint\app\bin\kiwisoftware.VeloxFactory.PrintService.App.exe"
# check configuration and connection
& $exe --validate-config
# Configuration: C:\kiwisoftware\VeloxPrint\data\config.json
# [OK] Configuration is valid
# [OK ] Reachability: https://vf.example.com
# [OK ] Token: Token accepted, report-print-task:read granted.
# [OK ] WebSocket: Subscribed to private-report-print-tasks on vf.example.com:443.
# scheduled task for the default instance and for a second instance
& $exe --install-task --user .\svc-veloxprint
& $exe --config C:\kiwisoftware\VeloxPrint\data\lager-nord.json --install-task --user .\svc-veloxprint
# test page
& $exe --test-print WH-LABEL-01
# engine in a console window for debugging (stop the scheduled task first)
& $exe --headless --console
# dry run into a folder
& $exe --dry-run C:\Temp\veloxprint-dryrun --console
# diagnostic package
& $exe --support-package C:\Temp\veloxprint-support.zip
# graceful stop of the default instance
& $exe --stop
ℹ️ Exit code in PowerShell. The program is a Windows application, PowerShell does not wait for it with the
& operator. To read the exit code, use $p = Start-Process -FilePath $exe -ArgumentList '--validate-config' -Wait -NoNewWindow -PassThru; $p.ExitCode.