-
Notifications
You must be signed in to change notification settings - Fork 287
Provisioning
- ✅ 2.2 | ✅ 2.1 | ✅ 2.0 | ⛔ 1.9 | ...
Provide custom deployment options with QZ Tray
- Prepare environment for compiling
- Prepare
provision.json
file[ { "description": "Configure log file size", "type": "property", "data": "log.size=2097152" } ]
- Invoke
ant
with the provision file:ant -Dprovision.file=provision.json nsis
- You now have a customized installer.
Certificate | Property | Preference | Script | Software | Remover
Certificates are installed during the "phase": "startup"
and write an entry to allowed.dat
(e.g. %APPDATA%\qz
) to avoid clicking "Remember this decision".
[
{
"description": "Trusts a certificate",
"type": "certificate",
"data": "digital-certificate.txt"
}
]
Properties are installed during "phase": "certgen"
(during install) and writes a properties entry to qz-tray.properties
located in the installation directory. (e.g. %PROGRAMFILES%\QZ Tray
)
[
{
"description": "Disable logs",
"type": "property",
"data": "log.disable=true"
}
]
Properties are installed during "phase": "startup"
and write a properties entry to prefs.properties
located in the user data directory (e.g. %APPDATA%\qz
)
[
{
"description": "Disable logs",
"type": "property",
"data": "log.disable=true"
}
]
Script are run during "phase": "install"
and allow granular customizations. The script will be automatically copied into the installer.
-
data
Must point to a valid script file and may be relative or absolute in respect to the location ofprovision.json
. -
os
is recommended and never inferred.
[
{
"description": "Shell script",
"os": "linux|mac",
"type": "script",
"data": "my_script.sh"
}
]
Software is run during "phase": "install"
and will execute with the provided deployment arguments.
-
os
optional but will be assumed based on file extension -
arch
is optional but strongly recommended -
args
will automatically be split up on whitespace for convenience- ... if whitespace is needed, use
"arg1": "first arg"
,"arg2": "second arg"
- ... if whitespace is needed, use
Supported file types:
- Windows:
.exe
,.msi
- macOS:
.pkg
- Linux:
.run
[
{
"description": "Install Notepad++",
"type": "software",
"os": "windows",
"arch": "x86_64",
"data": "npp.8.5.8.Installer.x64.exe",
"args": "/S"
}
]
Remover is a task to uninstall other QZ Tray installations, which is especially helpful for Company Branded builds to remove known-conflicting installs.
-
data
may beqz
, or the application identifiers from the Company Branded portal.- Example:
"data": "qz"
Shorthand for QZ branded installers) - Example:
"data": "Cherry Connect,cc-util,cc"
Long format, required for Company Branded builds.
- Example:
[
{
"description": "Remove QZ Tray",
"type": "remover",
"data": "QZ Tray,qz-tray,qz",
}
]
Install | Certgen | Startup | Uninstall
- The
"phase": "install"
will run run as a privileged account during QZ Tray installation, but before QZ Tray has been fully deployed to the system.
- The
"phase": "certgen"
will run as a privileged account during QZ Tray installation, but after QZ Tray has been fully deployed to the system.
- The
"phase": "startup"
will run as ordinary user during the startup of QZ Tray.
- The
"phase": "uninstall"
will run as as a privileged account during uninstallation of QZ Tray.
Arch will designate which architecture to perform the step.
- If not provided,
arch
will default to"arch": "*"
and run on all systems. - Multiple values may be provided:
"arch": "aarch64|riscv64"
Supported values:
- Intel:
"arch": "x86_64"
- ARM64:
"arch": "aarch64"
- RISCV:
"arch": "riscv64"
OS will designate which platform to perform the step.
- If not provided,
os
will default to"os": "*"
and run on all systems- Except
software
installers, which will try to choose a sane value.
- Except
- Multiple values may be provided:
"os": "mac|linux"
Supported values:
- Windows:
"os": "windows"
- macOS:
"os": "mac"
- Linux:
"os": "linux"