The Message Queuing registry values cannot be read. The registry is probably corrupted.

MSMQ.Rule.Alert.Event2097 (Rule)

Knowledge Base article:

Summary

The Message Queuing registry values cannot be read (the registry is probably corrupted).

Causes

The MSMQ Service cannot read configuration information from the registry. This may indicate either that the registry is corrupted or that Message Queuing was not installed properly.

Resolutions

Delete Message Queuing registry values and reinstall Message Queuing

Note: The following procedure will erase previous Message Queuing entries that are stored in the registry.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Delete registry values

To delete registry values:

Caution: Incorrectly editing the registry might severely damage your system. Before making changes to the registry, you should back up any valued data.

Uninstall and reinstall Message Queuing (Windows 7)

To uninstall Message Queuing and then reinstall it on Windows 7:

Uninstall and reinstall Message Queuing (Windows Server 8)

To uninstall Message Queuing and then reinstall it on Windows Server 8:

Additional

For more information, see Event ID 2097 ( http://technet.microsoft.com/en-us/library/dd337497(WS.10).aspx)

Element properties:

TargetMSMQ.Server
CategoryAvailabilityHealth
EnabledFalse
Event_ID2097
Event Source$Target/Property[Type="MSMQ.Server"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
The Message Queuing registry values cannot be read. The registry is probably corrupted.
Event Description: {0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="MSMQ.Rule.Alert.Event2097" Enabled="false" Target="MSMQ.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2097</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="MSMQ.Server"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="MSMQ.Rule.Alert.Event2097.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>