InstalledSoftwareSet

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

Tag Attributes

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
Entity Set Attributes

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.

Short Hand Attributes

These are the short hand attributes of the Entity and the attributes to which they resolve

Meaning of "Key"

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>

Sub Elements

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.

Special attributes of Include/Exclude for InstalledSoftwareSets:

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 ".