locked
DssHost.exe: Access is denied. One more time RRS feed

  • Question

  • Hi, I have a problem with running the DssHost.exe on Windows 2008 R2 Server (I am not sure if the OS is relevant but this is the test environment I am using now). I have read many topics regarding this issue and did everything by the book but it is still the problem. Everything works when I use the administrator privileges.

    Here is what I do, maybe I am missing something:

    1. HttpReserve

    c:\path\bin>HttpReserve.exe /p:50000 /u:user /e
    http://+:50000/ reserved.
    c:\path\bin>HttpReserve.exe /p:50001 /u:user /e
    http://+:50001/ reserved.

    2. DssHost

    c:\path\bin>DssHost.exe /p:50000 /t:50001
    *** Initialization failure: Could not start HTTP Listener.
    The two most common
    causes for this are:
    1) You already have another program listening on the
    specified port
    2) You dont have permissions to listen to http requests.
    Use the httpreserve command line utility to run using a non-administrator
    account.
    Exception message: Access is denied

    User have a full control over the c:\path and subdirectories.

    Best regards
    Piotr

    Monday, July 9, 2012 10:48 AM

Answers

  • I think that I found the solution and probably a problem with the httpreserve.exe tutorial.

    I used command line to make the reservation and it works. Instead of using httpreserve as it is suggested in Microsoft Robotics First Steps:

    http://msdn.microsoft.com/en-us/library/dd939179.aspx

    I recommend using:
    netsh http add urlacl url=http://127.0.0.1:50000/ user=UserName
    netsh http add urlacl url=http://127.0.0.1:50001/ user=UserName

    Of course one may still use the httpreserve.exe:
    HttpReserve.exe /r /p:50000 /x:127.0.0.1
    HttpReserve.exe /r /p:50001 /x:127.0.0.1

    But it is a suprise for me why do we need the httpreserve at all if it can be done with netsh?

    Regards
    Piotr

    • Marked as answer by PRS3 Saturday, August 4, 2012 10:29 AM
    Saturday, August 4, 2012 10:28 AM

All replies

  • It is expected that you run DssHost as administrator by launching the DSSCommandWindow as administrator.
    • Proposed as answer by Gershon Parent Tuesday, July 10, 2012 10:00 PM
    • Unproposed as answer by PRS3 Wednesday, July 11, 2012 4:54 PM
    Tuesday, July 10, 2012 10:00 PM
  • I hope it is not true. Could you specify the source of this information? What would be the point in using and creating the httpreserve.exe, if not for the use with non-admin accounts. Moreover I want to point other threads:

    - http://social.msdn.microsoft.com/Forums/en-US/roboticsdss/thread/d0b61bfa-32cc-4b8d-a198-2711c88e7d36

    - http://social.msdn.microsoft.com/Forums/en-US/roboticscommunity/thread/8f50a2b1-61cf-4c8a-a3c5-1cbcccb97244

    - http://social.msdn.microsoft.com/Forums/en-US/roboticscommunity/thread/659d11d7-5f5a-46c9-8267-b9fa642e9dc8

    There is nothing about the administrator account necessary for running the dsshost.exe:

    http://msdn.microsoft.com/en-us/library/bb483085.aspx

    It would be really a big "no no", for using the dsshost as administrator as it would start all other services as adminsitrator as well.

    Regards

    Piotr

    Wednesday, July 11, 2012 4:54 PM
  • 1)Did you run httpreserve as administrator?

    2)Could you run the following command just to make sure?

    httpreserve -Force /User:<USERACCOUNTNAME> /Port:50000

    (I am assuming you are replacing "user" in /u:user with the proper user account on the local machine and are using the same account to run the dssnode)

    Tuesday, July 17, 2012 5:50 PM
    Moderator
  • >1)Did you run httpreserve as administrator?

    Yes.

    >2)Could you run the following command just to make sure? httpreserve -Force /User:<USERACCOUNTNAME> /Port:50000

    Done. Still access denied.

    >(I am assuming you are replacing "user" in /u:user with the proper user account on the local machine and are using the same account to run the dssnode)

    Yes. I have checked that the reservation is correct for the user with HttpReserve.exe /q /p:50001 and HttpReserve.exe /q /p:50000.

    I turned off the Symantec EndPoint Protection and Windows Firewall, I tried also adding exceptions for dsshost, without success.

    I would really appreciate some help on this topic. I have three different computers whit this problem. All of them Win 2008 R2 Server with all updates. I have no problems with Windows 7.

    DssHost is not very helpful with Access Denied message, would be great to have something more descriptive.

    Regards
    Piotr

    Saturday, August 4, 2012 8:59 AM
  • I think that I found the solution and probably a problem with the httpreserve.exe tutorial.

    I used command line to make the reservation and it works. Instead of using httpreserve as it is suggested in Microsoft Robotics First Steps:

    http://msdn.microsoft.com/en-us/library/dd939179.aspx

    I recommend using:
    netsh http add urlacl url=http://127.0.0.1:50000/ user=UserName
    netsh http add urlacl url=http://127.0.0.1:50001/ user=UserName

    Of course one may still use the httpreserve.exe:
    HttpReserve.exe /r /p:50000 /x:127.0.0.1
    HttpReserve.exe /r /p:50001 /x:127.0.0.1

    But it is a suprise for me why do we need the httpreserve at all if it can be done with netsh?

    Regards
    Piotr

    • Marked as answer by PRS3 Saturday, August 4, 2012 10:29 AM
    Saturday, August 4, 2012 10:28 AM