Tab - Preconditions:
Here you can configure the conditions that the UEM Agent checks in each polling interval. If the conditions are not met, there will be no package download and therefore no installation.
![]()
Tab - Already installed:
Here you can configure the conditions that the UEM Agent checks in each polling interval. If the conditions are fulfilled, then no package download takes place, but the package is marked as successfully installed on the computer and a corresponding log file for a successful installation is created. The package is therefore considered to have been successfully installed.
An additional uninstall call can be defined.
The package is then downloaded to the local agent cache and the configured uninstall call is executed.
For all uninstallation calls, the return value of the call must be observed, otherwise incorrect information about the package status will be transmitted.
Possible examples:
- MSI
MsiExec.exe /X {AC76BA86-7AD7-1031-7B44-AB0000000001} REBOOT=REALLYSUPPRESS /qb-! /Li %Temp%\MSILogFile.log
The general return values for MSI uninstallations apply.
- PowerShell
PowerShell.exe -File Path\Uninstall.ps1
The .ps1 file must return a correct return value of the executed script to the agent. For this the variable $host.SetShouldExit( ) has to be used.
- $host.SetShouldExit(0) = Success
- $host.SetShouldExit(1) = Error
- Batch
Path\UninstallPackage.bat
The .bat file must return a correct return value of the executed script to the agent. The command EXIT /B ( ) must be used for this.
- EXIT /B (0) = Success
- EXIT /B (1) = Error
Logical conjunction of conditions
![]()
All conditions can be combined with AND or OR. Thus, for example, conditions as shown in the example are possible. Textually this corresponds to this pseudo code:
1 AND (2a OR 2c OR (2b1 AND 2b2)) AND (3a AND 3b)
If Preconditions and Already Installed Conditions are defined, the Conditions check is performed first for Already Installed and then for Preconditions.
The following conditions are available:
- Check Registry Key
- Check Registry Value
- Compare Registry Value
- WMI query
- Check file
- Compare file properties
- Check folder
Check Registry Key:

A registry key can be checked whether it exists or not.
Check Registry Value:

A registry value can be checked whether it exists or not.
Compare Registry Value:

A registry value can be compared, whether it is greater / smaller / equal / one of/... a value.
The comparison type (number, text or version) must correspond to the value.
If version is used as comparison type, please note that the major and minor version must always be specified, e.g. 9.1..
If the operator is One of or None of, then the single values in the Value field must be separated with a semicolon (;).
WMI query:

A WMI query can be used to query a unique result.
Queries that return more than one unique value are not supported.
Check file:

A file can be checked whether it exists or not.
Windows environment variables can also be used in the path name.
Compare file properties:

A file property can be checked for size, version, creation date and modification date to see whether the file is larger / smaller / equal/ on of / ... a value.
If the operator is One of or None of, then the single values in the Value field must be separated with a semicolon (;).
Check folder:

A folder can be checked whether it exists or not.
Windows environment variables can also be used in the path name.