O serviço de Enfileiramento de Mensagens não pode ser iniciado devido à dificuldade de gravar uma chave do Registro.

Microsoft.MSMQ.10.0.Rule.Alert.Event2001 (Rule)

Knowledge Base article:

Resumo

O serviço de Enfileiramento de Mensagens não pode ser iniciado devido à dificuldade de gravar uma chave do Registro.

Causas

O serviço MSMQ não pôde iniciar por não poder gravar informações de configuração no Registro. Isso pode indicar que o registro está corrompido ou que o Enfileiramento de Mensagens não foi instalado corretamente.

Resoluções

Exclua os valores do Registro do Enfileiramento de Mensagens e reinstale-o.

Observação: o procedimento a seguir excluirá entradas anteriores do Enfileiramento de Mensagens armazenadas no Registro.

Para executar esses procedimentos, você deve ter associação a Administradores ou ter recebido a devida autoridade.

Exclua valores do registro

Para excluir valores de registro:

Cuidado: a edição incorreta do Registro pode danificar gravemente o sistema. Antes de fazer alterações no Registro, você deve fazer backup de todos os dados valiosos.

Abra o Editor do Registro. Para abrir o Editor do Registro, clique em Iniciar. Clique em Executar. Na caixa Abrir, digite regedit e pressione ENTER.

Navegue até HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ.

Exclua todas as chaves do Registro sob a chave MSMQ.

Desinstalar e reinstalar o Enfileiramento de Mensagens (Windows XP)

Para desinstalar o Enfileiramento de Mensagens e, posteriormente, reinstalá-lo no Windows XP:

No painel esquerdo, clique em Ativar ou desativar recursos do Windows.

Desmarque a caixa de seleção do servidor do Microsoft Message Queue (MSMQ) e, em seguida, clique em Remover.

Repita as etapas 1 e 2.

Na seção Ativar ou desativar recursos do Windows, selecione os componentes de Enfileiramento de Mensagens que deseja instalar.

Desinstalação e reinstalação do Enfileiramento de Mensagens (Windows Server 2016 e posterior)

Para desinstalar o Enfileiramento de Mensagens e reinstalá-lo no Windows Server 2016 e posterior:

Abra o Gerenciador do Servidor. Para abrir o Gerenciador do Servidor, clique em Iniciar, aponte para Ferramentas Administrativas e clique em Gerenciador do Servidor.

Na árvore de console, clique em Recursos.

No painel de detalhes, na seção Resumo de Recurso, clique em Remover Recursos.

No Assistente para Remover Recursos, desmarque a caixa de seleção Enfileiramento de Mensagens e clique em Remover.

Depois de remover o Enfileiramento de Mensagens, no Gerenciador de Servidores, clique em Adicionar Recursos.

No Assistente para Adicionar Recursos, selecione os componentes do Enfileiramento de Mensagens que deseja instalar e clique em Instalar.

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
O serviço de Enfileiramento de Mensagens não pode ser iniciado devido à dificuldade de gravar uma chave do Registro.
{0}
Event LogApplication

Member Modules:

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

Source Code:

<Rule ID="Microsoft.MSMQ.10.0.Rule.Alert.Event2001" Enabled="false" Target="Microsoft.MSMQ.10.0.Servers" 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>EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2001</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.10.0.Rule.Alert.Event2001.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>