title: Message Queue service is not available
body: <p>I have a TCP server, running as a Windows Service in a Windows Cluster. It receives messages and puts them into a queue (MSMQ). I have made a public MSMQ queue. And I get this error message:</p>
  
  <pre><code>System.Messaging.MessageQueueException (0x80004005): Message Queue service is not available.
     at System.Messaging.MessageQueue.MQCacheableInfo.get_WriteHandle()
     at System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS properties, IntPtr transaction)
     at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType)
  </code></pre>
  
  <p>I send messages to queue this way:</p>
  
  <pre><code>static void SendHelper(UncookedMessage uncooked)
  {
      var msg = new Message(uncooked);
      msg.Formatter = new XmlMessageFormatter(new[] { typeof(UncookedMessage) });
  
      // (PER MESSAGE)
      msg.UseJournalQueue = false;
      msg.AttachSenderId = false;
      msg.Recoverable = true;
  
      SingleQueue.Send(msg);
  }
  </code></pre>
  
  <p>The queue security gives full access to every user defined in the server and the cluster. My queue name is: <strong>FormatName:DIRECT=OS:application9\uncooked_message_single</strong>; but I have tested <strong>application9\uncooked_message_single</strong>, <strong>application9.domain.com\uncooked_message_single</strong> and <strong>FormatName:DIRECT=OS:application9.domain.com\uncooked_message_single</strong>. No one worked.</p>
  
  <p><strong>Note:</strong> This app was working perfectly with a private queue on a non-clustered server. I do not know much about windows clustering, but our admin says it's a failover cluster and it's on Windows Server 2012.</p>