Search code examples
msmq

MSMQ. Who can create a local queue (permissions required)?


A simple question that I can't find an answer to:

Which user and what permissions are required to create a local queue using MSMQ?

I am using C# to call:

MessageQueue.Create(queuePath, transactional);

I got an error once saying:

Access to Message Queuing system is denied. 

I have not been able to reproduce this error again. I have tried using limited accounts such as 'Guest' but I have not been able to reproduce this error.


Solution

  • From what I have found is that anyone can create a queue using:

     MessageQueue.Create
    

    My error was that I was getting

    Access to Message Queuing system is denied. 
    

    was because I was trying to set permissions on the queue straight after creating it using code similar to this (this is what was causing the error):

    queue.SetPermissions(user, MessageQueueAccessRights.WriteMessage, AccessControlEntryType.Allow);