How to enable MSMQ on PocketPC


By default, MSMQ is not fully functional on a Windows CE device.


There is a registry value BinaryEnabled at HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\SimpleClient that is set, by default, to “No”.


This means that MSMQ (the binary protocol) can receive incoming messages but not send outgoing messages. While you are trying to get your application to work, you might see misleading/bogus/unhelpful messages like “The queue does not exist or you do not have sufficient permissions to perform the operation.


The solutions are either



  1. Set BinaryEnabled to “Yes”, or

  2. Run visadm and enter the “enable binary” command

Make sure you soft-reset afterwards. 


There is a similar setting SRMPEnabled for the SRMP protocol.


Documentation: Platform Builder for Microsoft Windows CE 5.0 – MSMQ Registry Settings


Comments (2)

  1. Eric says:

    Thank you very much for this. I’ve spent a few hours tracking down the root cause of this error. I was about to give up on MSMQ for my project in favour of Web Services. Thank you. Thank you. Thank you!

    Eric

  2. MSDN Archive says:

    Hi Eric,

    I’m glad I could help. Thankyou very much for letting me know.

    Cheers

    John Breakwell (MSFT)