Howto: Enable Concurrent Remote Desktop Sessions in Windows XP SP2

June 13, 2007

Windows XP, unlike the Server editions of Windows, does not allow multiple simultaneous remote user sessions. This can be a pain. For instance, my wife has a user account on my computer at home which she often uses when I am not at the computer. When I am at work (or where ever) and want to remote into my computer at home, I think I should be able to, even if Vanessa is using the computer. I mean, it is totally possible and built into any good OS worth a damn. I do run Windows XP Pro after-all, the more expensive version of XP for profession users. However Windows XP forces you to boot (log off) the other user before you can log in. This is most likely because Micro$oft wants you to shell out more money for the server OS. Even if you use the server edition of Windows, there are licensing issues with it that prevent you from running certain programs that you are only allowed to run on non-server editions of Windows. Oh for crying out loud! What a stupid pointless catch 22. I guess Micro$oft doesn’t see it that way because it forces you to buy more of their software.

This article outlines how to get around this annoying, draconian limitation imposed by Micro$oft.

A much touted feature in Service Pack 2, since then removed, was the ability to have a user logged on locally while another connects to the terminal remotely. Microsoft however disabled the feature in the final build. This is just a licensing issue, and is simply a disabled ability built into Terminal Services.

Microsoft did try out the feature in earlier beta releases of Service Pack 2 and it is this that we’re going to exploit here. We’re going to replace termsrv.dll with one from an earlier build (2055). This DLL is the core of the Terminal Services host.

To be able to run concurrent sessions with Remote Desktop, download the zip file contained in this article, then follow these instructions exactly (These instructions are also included in the zip file):

Download file: termsrv_concurrent_sessions_XP_SP2

1. Boot into Safe-Mode to disable Windows file protection.

2. Backup your original termsrv.dll files. You can do this by renaming them from to “termsrv.dll” to “termsrv.dll.bak”. Backup the file in these locations: %windir%\System32 and %windir%\ServicePackFiles\i386. The 2nd one may or may not exist.

3. Copy the termsrv.dll from the zip file to %windir%\System32 and %windir%\ServicePackFiles\i386. If the 2nd dir does not exist, skip that it.

4. Delete termsrv.dll from the dllcache folder: %windir%\system32\dllcache

5. Merge the contents of “Concurrent Sessions SP2.reg” file into the registry by double-clicking it.

6. Make sure Fast User Switching is turned on. Go to [Control Panel], [User Accounts], [Change the way users log on or off] and turn on Fast User Switching.

7. Open up the Group Policy Editor: Start Menu, Run, “gpedit.msc”. Navigate to [Computer Configuration], [Administrative Templates], [Windows Components], [Terminal Services]. Enable “Limit Number of Connections” and set the number of connections to 3 (or more). This enables you to have more than one user remotely logged on.

8. Now boot back into normal Windows and try it out.

If anything goes wrong, you can replace the the termsrv.dll with the backup you made from step 2. Reboot into safe mode and copy it back. Optionally, you can use the termsrv_sp2.dll file (renamed to termsrv.dll), which is also a backup of the original.

The termsrv.dl_ file is provided in the zip is for you slipstreamers out there. Just replace that file with the corresponding file in the Windows installation disks.

I advise against doing this on a production machine. Do this at your own risk, I do not take any responsibility for any consequences caused by any actions you may do based on these files.

Warning: This worked for me for a while. When I bought a new printer (Canon Pixma MP600) and installed the drivers and software for it, Windows could not start properly and started complaining about a Generic Host error. This is where the backup came in handy. I replaced the termsrv.dll with my backup, termsrv.dll.bak; until I can figure out or find a fix for this.

References:
http://www.msfn.org/board/index.php?showtopic=23619&st=0&p=161513&#entry161513
http://www.msfn.org/board/index.php?act=ST&f=34&t=23619&st=0#entry161523
http://sig9.com/articles/concurrent-remote-desktop

3 Responses to “Howto: Enable Concurrent Remote Desktop Sessions in Windows XP SP2”

  1. How are you ?
    The interesting name of a site – devblog.billism.com
    I at night 3 hours
    looked in the Internet So I have found your site :)
    The interesting site but does not suffice several sections!
    However this section is very necessary!
    Best wishes for you!
    Forgive I is drunk :) )

  2. Hello

    As a fresh devblog.billism.com user i only wanted to say hi to everyone else who uses this site ;-)

  3. I don’t have termsrv.dll in that directory ….. ¿?

    My computer:

    - XP pro SP3

    Any idea??

Leave a Reply