I have created an application that uses MSMQ on XP. It is time to being deploying and testing the app. I have found that when I copy the files to Windows 2003 Server that nothing ever "shows up" in the queue.
This is a transactional, private queue reference via the string: @".\private$\myQueueName"
The entire code is surrounded by try-catch blocks, but no error is ever thrown.
I have set the permissions to be as permissive as possible to try to get something to show up in the queue. (Everybody has full control.)
I am using transactions and the transaction's commit statement executes without any problems.
The queue is created from code, but I have also tried creating it by hand to see if it makes any difference.
I encountered a post on eggheadcafe referencing this exact problem: msmq works under xp, fails under 2003. Unfortunately, no solution was ever posted. (http://www.eggheadcafe.com/forumarchives/msmqprogramming/Jun2005/post23331195.asp
//get the messageQueue inst. var. ready for use
messageQueue = new MessageQueue(AppConst.QUEUE_PATH);
messageQueue = MessageQueue.Create(AppConst.QUEUE_PATH, true);
MessageQueueTransaction mqTrans = new MessageQueueTransaction();
messageQueue.Send(new Message(strXml,new XmlMessageFormatter()));
TextWriter tw = File.AppendText(AppConst.QUEUE_TRANSACTION_LOG);
catch( Exception ex )
TextWriter tw = File.AppendText(AppConst.QUEUE_ERR_LOG_FILE);
payloads.Clear();//Once you send to queue the Collection of payloads gets emptied