This discovery uses the existence of a registry key to discovery a class instance. For the full management pack sample which this discovery is taken from see the AuthorMPs.Demo.ClassDiscoveryUsingRegistryKey.xml sample MP.
<DiscoveryID="AuthorMPs.Demo.ClassDiscoveryUsingRegistryKey.ApplicationX.Discovery"Target="Windows!Microsoft.Windows.Server.Computer"Remotable="true"Enabled="true">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClassTypeID="AuthorMPs.Demo.ClassDiscoveryUsingRegistryKey.ApplicationX">
<PropertyPropertyID="Version"/>
<PropertyPropertyID="Path"/>
<PropertyTypeID="System!System.Entity"PropertyID="DisplayName"/>
</DiscoveryClass>
</DiscoveryTypes>
<DataSourceID="DS"TypeID="Windows!Microsoft.Windows.FilteredRegistryDiscoveryProvider">
<ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<RegistryAttributeDefinitions>
<RegistryAttributeDefinition>
<AttributeName>ApplicationXExists</AttributeName>
<Path>SOFTWARE\AuthorMPs\ApplicationX</Path>
<PathType>0</PathType>
<AttributeType>0</AttributeType>
</RegistryAttributeDefinition>
<RegistryAttributeDefinition>
<AttributeName>ApplicationXVersion</AttributeName>
<Path>SOFTWARE\AuthorMPs\ApplicationX\Version</Path>
<PathType>1</PathType>
<AttributeType>1</AttributeType>
</RegistryAttributeDefinition>
<RegistryAttributeDefinition>
<AttributeName>ApplicationXPath</AttributeName>
<Path>SOFTWARE\AuthorMPs\ApplicationX\Path</Path>
<PathType>1</PathType>
<AttributeType>1</AttributeType>
</RegistryAttributeDefinition>
</RegistryAttributeDefinitions>
<Frequency>60</Frequency>
<ClassId>$MPElement[Name="AuthorMPs.Demo.ClassDiscoveryUsingRegistryKey.ApplicationX"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
<Value>Application X ($Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetbiosComputerName$)</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="AuthorMPs.Demo.ClassDiscoveryUsingRegistryKey.ApplicationX"]/Version$</Name>
<Value>$Data/Values/ApplicationXVersion$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="AuthorMPs.Demo.ClassDiscoveryUsingRegistryKey.ApplicationX"]/Path$</Name>
<Value>$Data/Values/ApplicationXPath$</Value>
</Setting>
</Settings>
</InstanceSettings>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQueryType="Boolean">Values/ApplicationXExists</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<ValueType="Boolean">true</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</DataSource>
</Discovery>