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
- Set BinaryEnabled to "Yes", or
- 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
Anonymous
June 16, 2009
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! EricAnonymous
June 16, 2009
Hi Eric, I'm glad I could help. Thankyou very much for letting me know. Cheers John Breakwell (MSFT)