locked
MRDS4 + W7 ... for all users? RRS feed

  • Question

  • Greetings,

    I have noticed how several others run into a similar issue to mine; yet none of the answers seem to work. My problem is as follows: I wish to install MRDS4 on computers of a computer lab for use by all the students (each student has its own roaming account, retrieved from AD rather than some local user account).

    Of course, students are non-admin.

    The goal is getting MRDS working for all students. However, so far I am struggling getting it to work for a single (local) non-admin user... Any help achieving this first step (and then my final goal) is welcome.

    Here are the steps I have followed so far:

    1. Clean install of Windows 7 Professional x64, performed all updates
    2. Installed Visual Studio 2012 Premium, performed all updates
    3. Installed Robotics Studio 4 with custom install in order to destination directory to "C:\MRDS"
    4. I have successfully run HttpReserve.exe for ports 50000 and 50001
    5. I have added DssHost and VPL to the Firewall exceptions

    After doing this, MRDS works normally under the following circumstances:

    • when logged as admin,
    • when logged as a (local) standard user and elevating execution as admin (right-click and "Run as administrator") – this test being limited to executing VPL and then running/debug a program.

    However, when logged as a (local) standard,

    • VPL executes normally until trying to run the sketch which results in a "Could not start DSS node." error message.

    This last scenario is what is bothering me and where I am stuck. From what I have read on this forum HttpReserve should fix this issue... but it does not.

    Indeed, after making sure no other instances were executing, I ran from a standard user console the following command: "dsshost /p:50000 /t:50001" I get an initialization failure (Access is denied). Running this as an administrator works, which hints towards a firewall issue, which I have taken care of, although the access remains denied for a standard user. You may have noticed from my installation steps that I ran HttpReserve and that had no effect.

    Thank you for your suggestions and for you help. Hopefully a solution to my problem can be found.

    Also, note that I am not too fond of HttpReserve as it does not seem to work and as it requires typing in the name of the user and I don't know in advance which student will be using which computer.

    Regards,
    Pierre


    [EDIT: fixed for wording for clarity]
    • Edited by Pierre Gr Friday, September 6, 2013 7:17 AM
    Thursday, September 5, 2013 8:53 PM

Answers

  • I also found that the '+' prefix does not allow a non-admin to start a listener on the loopback interface if unsecured remote access is disabled (default), so I assume that is why it is not working for you (rather than a firewall issue).

    There is more info on the dss security model here:  http://msdn.microsoft.com/en-us/library/bb483066.aspx

    I'm going to mark this thread as answered, please unmark it or open a new thread if you have additional issues.

    Bryan

    • Marked as answer by Pierre Gr Wednesday, September 11, 2013 6:03 AM
    Wednesday, September 11, 2013 12:42 AM
    Moderator
  • I was able to follow the steps 1-4 and successfully start a dss node as a standard user.  No firewall configuration changes were needed (though I believe they would be if you want to access a service from a remote machine).

    What parameters are you giving to HttpReserve?  I found that 'localhost' doesn't work as a prefix, but the loop back address does.  The following worked for me:

    httpreserve /Prefix:127.0.0.1 /Port:51000 /Users:<username>

    Bryan

    Tuesday, September 10, 2013 8:43 AM
    Moderator

All replies

  • I was able to follow the steps 1-4 and successfully start a dss node as a standard user.  No firewall configuration changes were needed (though I believe they would be if you want to access a service from a remote machine).

    What parameters are you giving to HttpReserve?  I found that 'localhost' doesn't work as a prefix, but the loop back address does.  The following worked for me:

    httpreserve /Prefix:127.0.0.1 /Port:51000 /Users:<username>

    Bryan

    Tuesday, September 10, 2013 8:43 AM
    Moderator
  • Hello Bryan,

    I did remove my reservations and tried again using your syntax. Now it works! Thank you so much.

    Here's the command I did you (the standard user is called 'simpleuser'):

    httpreserve /u:simpleuser /p:50000
    httpreserve /u:simpleuser /p:50001

    Executing this reserved the ports for the domain '+' (which –as I understand– should cover all interfaces, including 127.0.0.1). This was confirmed by the message displayed by httpreserve: "http://+:50000/ reserved."

    After removing those reservations I ran (as you recommended) the following:

    httpreserve /Prefix:127.0.0.1 /Port:50000 /User:simpleuser
    httpreserve /Prefix:127.0.0.1 /Port:50001 /User:simpleuser

    Now it works just fine!
    Thank you for your help.

    I must assume that this was probably caused by an error with my Firewall exception... I will check this. When I do, if I can find what went wrong I'll post back.

    Best Regards,
    Pierre

    Tuesday, September 10, 2013 1:13 PM
  • I also found that the '+' prefix does not allow a non-admin to start a listener on the loopback interface if unsecured remote access is disabled (default), so I assume that is why it is not working for you (rather than a firewall issue).

    There is more info on the dss security model here:  http://msdn.microsoft.com/en-us/library/bb483066.aspx

    I'm going to mark this thread as answered, please unmark it or open a new thread if you have additional issues.

    Bryan

    • Marked as answer by Pierre Gr Wednesday, September 11, 2013 6:03 AM
    Wednesday, September 11, 2013 12:42 AM
    Moderator
  • Thank you very much for the clarification about '+' prefix reservation.

    However I wouldn't just yet consider my question as answered. Indeed, the question regarded getting MRDS4 working for any/all standard user.

    The problem is that I cannot know a priori which student will use which computer, and even a posteriori this may change. This is why I explained in my original question that I am not "fond of HttpReserve [...] as it requires typing in the name of the user and I don't know in advance which student will be using which computer."

    As such, it would require me to authenticate as admin on each machine-student pair to run the proper httpreserve command. This is something I'd like to avoid.

    Thanks to you now I have the alternative solution of creating a "robotics" local standard account and giving that account the necessary httpreservations. This is not a bad solution in lack of a better solution. You may therefore consider my question answered; just not "ideally" answered.

    If your or anyone can suggest a solution applicable to any student (who get their credentials from AD) that would be great. Meanwhile I am going to rely on the "robotics" local account solution.

    Thank you Bryan.

    Wednesday, September 11, 2013 6:01 AM
  • It's a bit more involved than the local account solution, but if you have a class list of the students who will be using RDS it should be pretty straightforward to create a batch file that would create the necessary reservations for each student on each machine.  Other than that I don't know of another solution.

    Bryan

    Wednesday, September 11, 2013 7:13 AM
    Moderator