Appendix B: Rules
<antivirusTest> | |||
---|---|---|---|
Check whether or not antivirus is set up and running. Only available on Windows platform |
|||
property |
default value |
allowed values |
description |
|
any, windows_defender |
Product to test, or any product |
|
|
enabled, disabled |
Type of test |
|
|
<checkFreeDiskSpace> | |||
---|---|---|---|
Check whether or not enough free disk space is available |
|||
property |
default value |
allowed values |
description |
|
equals, does_not_equal, greater_or_equal, greater, less, less_or_equal |
Comparison type |
|
string |
Path to the folder or disk |
||
|
positive integer or zero |
Size of free disk space to check for |
|
|
KB, MB, GB |
Size units for the checked value. |
|
|
<compareText> | |||
---|---|---|---|
Compare a text with a value. |
|||
property |
default value |
allowed values |
description |
|
equals, contains, does_not_contain, does_not_equal, starts_with, ends_with |
Comparison type |
|
|
0, 1 |
Case insensitive comparison |
|
string |
Text |
||
string |
Value |
||
|
<compareTextLength> | |||
---|---|---|---|
Compare the length of a text. |
|||
property |
default value |
allowed values |
description |
string |
Length to compare with |
||
|
equals, does_not_equal, greater_or_equal, greater, less, less_or_equal |
Comparison type |
|
string |
Text to compare the length of |
||
|
<compareValues> | |||
---|---|---|---|
Compare two values with each other. |
|||
property |
default value |
allowed values |
description |
|
equals, does_not_equal, greater_or_equal, greater, less, less_or_equal |
Comparison type |
|
string |
First comparison operand |
||
string |
Second comparison operand |
||
|
<compareVersions> | |||
---|---|---|---|
Compare two versions. |
|||
property |
default value |
allowed values |
description |
|
equals, does_not_equal, greater, greater_or_equal, less, less_or_equal |
Test type |
|
string |
First comparison operand |
||
string |
Second comparison operand |
||
|
<componentTest> | |||
---|---|---|---|
Perform check on a given component. |
|||
property |
default value |
allowed values |
description |
|
0, 1 |
Whether to also perform check on all parent components |
|
|
exists, does_not_exist, selected, not_selected, hidden, visible, editable, not_editable |
Comparison type |
|
string |
Name of the component |
||
|
<fileContentTest> | |||
---|---|---|---|
Check whether a file contains or does not contain a text. |
|||
property |
default value |
allowed values |
description |
|
iso8859-1, iso8859-2, utf-8, cp1251, cp1252, ascii, macRoman, unicode, binary |
Encoding of the text file |
|
|
contains, does_not_contain |
Test type |
|
string |
Path to file that contains text for comparison |
||
string |
Text to compare with |
||
|
<fileExists> | |||
---|---|---|---|
Check for the existence of a given directory or file. |
|||
property |
default value |
allowed values |
description |
string |
File or directory path for the test, accepts wildcards. |
||
|
<fileIsLocked> | |||
---|---|---|---|
Check if file is locked. |
|||
property |
default value |
allowed values |
description |
string |
File or directory path to check |
||
|
<fileTest> | |||
---|---|---|---|
Perform test on a given directory or file. |
|||
property |
default value |
allowed values |
description |
|
exists, not_exists, writable, not_writable, readable, not_readable, executable, not_executable, is_directory, is_not_directory, is_symlink, is_not_symlink, is_file, is_not_file, is_empty, is_not_empty |
Specifies the requirement to test over the given file |
|
string |
File or directory path for the test |
||
|
<firewallTest> | |||
---|---|---|---|
Check whether or not a firewall is set up and running. Only available on Windows platform |
|||
property |
default value |
allowed values |
description |
|
enabled, disabled |
Type of test |
|
|
<hostValidation> | |||
---|---|---|---|
Validates whether or not a given hostname or IP address meets the given condition |
|||
property |
default value |
allowed values |
description |
|
is_valid, is_not_valid |
A valid host is one that can be resolved to an IP address and a valid IP is one that is syntactically correct |
|
string |
Hostname or IP address to be checked |
||
|
ip, ipv6, hostname, any |
Type of host specification |
|
|
<iniFileTest> | |||
---|---|---|---|
Perform tests over an ini file. |
|||
property |
default value |
allowed values |
description |
string |
Ini key name |
||
|
exists, does_not_exist, equals, does_not_equal, contains, does_not_contain |
Comparison type |
|
string |
Ini file path |
||
string |
Ini section name |
||
string |
Ini key value |
||
|
<isFalse> | |||
---|---|---|---|
The rule returns false if value is one of 1, yes or true. Otherwise it evaluates to true. |
|||
property |
default value |
allowed values |
description |
string |
String to test if it is false |
||
|
<isTrue> | |||
---|---|---|---|
The rule returns true if value is one of 1, yes or true. Otherwise it evaluates to false. |
|||
property |
default value |
allowed values |
description |
string |
String to test if it is true |
||
|
<osxServiceTest> | |||
---|---|---|---|
Check whether or not a service exists and whether or not it is running. Checking if service exists requires Mac OS X version 10.4 or later. Checking if service is running requires Mac OS X 10.5 or later. |
|||
property |
default value |
allowed values |
description |
|
exists, not_exists, is_running, is_not_running |
Condition to test for |
|
string |
Name of service |
||
|
<platformTest> | |||
---|---|---|---|
Compare the system platform with a given platform name. |
|||
property |
default value |
allowed values |
description |
|
aix, freebsd, freebsd4, freebsd6, freebsd6-x64, freebsd7, freebsd7-x64, hpux, hpux-ia64, hpux-parisc, irix-n32, linux, linux-arm32, linux-arm64, linux-ia64, linux-ppc, linux-s390, linux-s390x, linux-x64, linux-x86, openbsd, openbsd3, osx, osx-arm64, osx-intel, osx-ppc, osx-x86_64, solaris, solaris-intel, solaris-sparc, unix, windows, windows-10, windows-11, windows-2000, windows-2003, windows-2008, windows-2008-r2, windows-2012, windows-2012-r2, windows-2016, windows-2019, windows-2022, windows-7, windows-8, windows-8.1, windows-9x, windows-nt, windows-vista, windows-x64, windows-x86, windows-xp |
Type of platform to test for |
|
|
<portTest> | |||
---|---|---|---|
Allows you to test whether a port is free in the local machine. |
|||
property |
default value |
allowed values |
description |
|
can_bind, cannot_bind |
Condition to test for |
|
string |
A port number |
||
|
<processTest> | |||
---|---|---|---|
Check if a particular process exists in the system. Currently only supported in Windows, Linux, OS X. |
|||
property |
default value |
allowed values |
description |
|
is_running, is_not_running |
Check whether or not the process is running. |
|
string |
Exact process name that will be checked. |
||
|
<programTest> | |||
---|---|---|---|
Check whether or not a program can be found in the system path. |
|||
property |
default value |
allowed values |
description |
|
is_in_path, is_not_in_path |
Condition to test for |
|
string |
Program name |
||
|
<propertiesFileTest> | |||
---|---|---|---|
Perform tests over a properties file. |
|||
property |
default value |
allowed values |
description |
string |
Key name |
||
|
exists, does_not_exist, equals, does_not_equal, contains, does_not_contain |
Comparison type |
|
string |
Properties file path |
||
string |
Key value |
||
|
<regExMatch> | |||
---|---|---|---|
Compare a text with a regular expression. |
|||
property |
default value |
allowed values |
description |
|
matches, does_not_match |
Whether or not the rule will apply if the regular expression matches. |
|
string |
Regular expression |
||
string |
Text |
||
|
<registryTest> | |||
---|---|---|---|
Perform tests over a registry entry. You can provide either a key or a key and a name |
|||
property |
default value |
allowed values |
description |
string |
Registry key |
||
|
exists, does_not_exist, is_empty, is_not_empty, is_type, is_not_type |
Comparison type |
|
string |
Entry name to test for existence |
||
|
REG_BINARY, REG_NONE, REG_SZ, REG_EXPAND_SZ, REG_DWORD, REG_BIG_ENDIAN, REG_LINK, REG_MULTI_SZ, REG_RESOURCE_LIST |
Type of the key to check with the is_type or is_not_type logic |
|
|
none, 32, 64 |
Determines whether we want to access a 32-bit or 64-bit view of the Registry |
|
|
<resourceLimitTest> | |||
---|---|---|---|
Check if resource limit matches requirements. |
|||
property |
default value |
allowed values |
description |
|
hard, soft |
Limit type |
|
|
equals, does_not_equal, greater_or_equal, greater, less, less_or_equal, is_unlimited, is_not_unlimited |
Comparison type |
|
|
core_file_size, data_seg_size, file_size, max_locked_memory, max_memory_size, open_files, pipe_size, stack_size, cpu_time, max_user_processes, virtual_memory |
Resource Type To Check |
|
|
string |
Value |
|
|
<ruleGroup> | |||
---|---|---|---|
Group a set of rules. |
|||
property |
default value |
allowed values |
description |
|
and, or |
Rule evaluation logic |
|
List of rules to be grouped |
|||
|
<singleInstanceCheck> | |||
---|---|---|---|
Check if there is another instance of the installer being executed. |
|||
property |
default value |
allowed values |
description |
|
is_running, is_not_running |
Condition to check. |
|
|
<stringTest> | |||
---|---|---|---|
Check the string type |
|||
property |
default value |
allowed values |
description |
string |
Text |
||
|
ascii, digit, alphanumeric, empty, not_ascii, not_digit, not_alphanumeric, not_empty |
Type of string |
|
|
<userTest> | |||
---|---|---|---|
Check if a particular user exists in the system or has a valid password. |
|||
property |
default value |
allowed values |
description |
|
exists, not_exists, valid_password, invalid_password, is_windows_admin_account, is_windows_user_account, is_windows_guest_account |
Specifies the requirement to test over the given username. |
|
string |
If test logic is set to verify the password, the password to be checked. Currently only available on the Windows platform |
||
|
network, service |
Specifies the logon type when validating the password |
|
string |
User name that will be checked. In the case of using Windows domains, it needs to be specified in the form username@DOMAIN |
||
|
<windowsAccountTest> | |||
---|---|---|---|
Check whether or not a specified account has proper rights |
|||
property |
default value |
allowed values |
description |
string |
User or group name to check; if account does not exist, rule always returns false |
||
string |
Account rights to test for, separated by spaces; Example value: SeServiceLogonRight. A complete list can be obtained from https://msdn.microsoft.com/en-us/library/aa375728(v=VS.85).aspx |
||
|
<windowsServiceTest> | |||
---|---|---|---|
Check whether a service exists and whether is running |
|||
property |
default value |
allowed values |
description |
|
exists, not_exists, is_running, is_not_running |
Condition to test for |
|
string |
Name of service |
||
|
<rule> - Common Properties | |||
---|---|---|---|
property |
default value |
allowed values |
description |
|
0, 1 |
Negate the rule result. This property does not allow variables. |