Represents a set of installed software. The make-up of the "key" used to uniquely identify an installed application is platform-specific, but it is often a shorthand version of the application name or a unique numeric value.
On Windows the key can be something readable like "FogBugz Screenshot_is1" or it can be a GUID like
"{90110409-6000-11D3-8CFE-0150048383C9}". You can examine these by looking at the subkeys of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
On Linux the key is the RPM package name, as shown by the command:
rpm -qa --qf "%{NAME}\n"
On Solaris the key is the package name as shown by the pkginfo command.
On HPUX the key is the application name as shown by the command:
/usr/sbin/swlist -a name
These are XML attributes of the tag itself, as opposed to the attributes of the Entity monitored by Integrity Monitoring Rules.
| Attribute | Description | Required | Default Value | Allowed Values |
| onChange | Will be monitored in real time | No | false | true, false |
These are the attributes of the Entity that can be monitored by Integrity Monitoring Rules. Presence of the attributes is dependent on both the platform and the application itself - installation programs do not necessarily populate all of the attributes.
These are the short hand attributes of the Entity and the attributes to which they resolve
The key is the name of the installed software. This is not a hierarchical key, so the ** pattern does not apply. On Windows the key is often a GUID, especially for anything installed via the Windows Installer (aka MSI). Use the name="XXX" feature if you need to include/exclude based on the display name rather than the GUID.
The following example would monitor for the addition and deletion of new software.
<InstalledSoftwareSet>
<include key="*"/>
<attributes/>
</InstalledSoftwareSet>
See the general description of include/exclude for their allowed attributes and sub elements. Only information specific to include/excludes relating to this EntitySet class are included here.
name (Windows only)
Allows wildcard matching using ? and * on the display name of the application (the "name" attribute of the Entity). For example:
<InstalledSoftwareSet>
<include name="Microsoft*"/>
<InstalledSoftwareSet>
will match all installed applications whose display name (as shown by the Control Panel) starts with "Microsoft".
manufacturer
Allows wildcard matching using ? and * on the publisher or manufacturer of the application. For example:
<InstalledSoftwareSet>
<include manufacturer="* Company "/>
<InstalledSoftwareSet>
will match all installed applications whose manufacturer ends with " Company ".