Unable to install MSMQ HTTP Support - 0x80070003

You may see the following error message when you are trying to install HTTP support for MSMQ messaging:

"The Message Queuing IIS extension /LM/W3Svc/1/Root/MSMQ cannot be created. Message Queuing will not be able to receive HTTP Messages.

Error Code 0x80070003
Error Description: The system cannot find the path specified"

What this is saying is that the MSMQ virtual directory cannot be created.
Note that setup wants to create this under "/LM/W3Svc/1/Root" which is the root of the website with ID number 1 - the default web site.
So if you have removed the default website - and there are good security reasons to - then you will break MSMQ setup.

The solutions are to recreate the default website before installing the "MSMQ HTTP Support" component.

  • Reinstall IIS (maybe too sledgehammer-walnut to be useful)
  • Or you can create a new website and move it to the position of default web site.

CD %SYSTEMDRIVE%\Inetpub\AdminScripts\
CSCRIPT adsutil.vbs STOP_SERVER W3SVC/"xx"
CSCRIPT adsutil.vbs MOVE W3SVC/"xx" W3SVC/1
CSCRIPT adsutil.vbs START_SERVER W3SVC/1

where "xx" is the ID number of the new website.

Comments

  • Anonymous
    April 06, 2009
    Very useful post John !!! I had a similar problem today. When installing MSMQ for an application that would not use the MSMQ's HTTP support and that the default web site have been removed. The solution would be the one you suggested, that is, create a new web site and move it to the position of default web site. Since we don´t use the HTTP support, we have disabled this option when installing MSMQ. Thanks a lot ! Marcelo Carvalho Ferndes

  • Anonymous
    April 06, 2009
    Hi Marcelo, Glad I could help. Yes, only install the MSMQ options that you will actually be using. Cheers John Breakwell

  • Anonymous
    February 12, 2010
    Is it possible to install MSMQ to a different website? I have a scenario where the current website 1 cannot be used, but there are a number of other websites (2-6) on the server that could be used.

  • Anonymous
    February 15, 2010
    Hi Matt, Does the website currently at position 1 have to be there? Could it be moved to another position without affecting its functionality? MSMQ setup is hard-coded to install onto the website at position 1. This does not mean the website has to stay there. I've just run a simple test: Install MSMQ with HTTP support on W3SVC/1Send messages to a queue using HTTP protocol as a testCSCRIPT adsutil.vbs STOP_SERVER W3SVC/1CSCRIPT adsutil.vbs MOVE W3SVC/1 W3SVC/5CSCRIPT adsutil.vbs START_SERVER W3SVC/5Send messages to a queue using HTTP protocol as a test.This worked so you may be able to get what you need by shuffling the websites around - take a backup first! For example: Move the current W3SVC/1 to a vacant position - let's say W3SVC/4Create a new website and move it to W3SVC/1 (as in the main blog post above)Install HTTP support for MSMQ Move this new (MSMQ enabled) W3SVC/1 to a vacant position - let's say W3SVC/5Move the old W3SVC/1 (now at W3SVC/4) back to its original positionPlease note that this reconfiguring isn't necessarily supported. If you find you need to contact Microsoft's support services, you may be asked to have MSMQ using W3SVC/1 for troubleshooting purposes.

  • Anonymous
    February 17, 2010
    That's exactly what I was looking for. I'm sure this won't be the first time I run into this situation either, so thanks a ton! Matt

  • Anonymous
    February 17, 2010
    Glad I could help. Cheers John Breakwell (MSFT)