• Skip to main content
  • Skip to primary sidebar

Technical Notes Of
Ehi Kioya

Technical Notes Of Ehi Kioya

  • About
  • Contact
MENUMENU
  • Blog Home
  • AWS, Azure, Cloud
  • Backend (Server-Side)
  • Frontend (Client-Side)
  • SharePoint
  • Tools & Resources
    • CM/IN Ruler
    • URL Decoder
    • Text Hasher
    • Word Count
    • IP Lookup
  • Linux & Servers
  • Zero Code Tech
  • WordPress
  • Musings
  • More
    Categories
    • Cloud
    • Server-Side
    • Front-End
    • SharePoint
    • Tools
    • Linux
    • Zero Code
    • WordPress
    • Musings
Home » Windows » Allowing Multiple RDP Sessions In Windows 10 Using The RDP Wrapper Library

Allowing Multiple RDP Sessions In Windows 10 Using The RDP Wrapper Library

By Ehi Kioya 34 Comments

This article explains everything you need to know about how to allow multiple RDP sessions in Windows using the famous RDP Wrapper Library. But first, some background…

If you have ever attempted making multiple remote desktop connections concurrently to your Windows 10 machine, you must have observed that by default, Windows 10 doesn’t allow multiple RDP sessions. Only one user can be connected at any time.

Even if you have the Pro or Enterprise versions, trying to open a second RDP session results in the following message:

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Looks like this:

Allowing Multiple RDP Sessions In Windows Using The RDP Wrapper Library

This article will show how to allow multiple RDP sessions in Windows DESPITE the default single user restriction. We will do this using the RDP Wrapper Library (found here).

Before I proceed, here’s a summary of the basic restrictions associated with Windows RDP.

  1. RDP is only supported in Windows Professional and above. The feature is completely disabled in all Home editions.
  2. By default, only one remote RDP connection is possible at any time. Trying to create a second one prompts you to close the first one.
  3. If a user is working on the console of the local PC and you start a remote RDP session, the console session will get terminated automatically. Also if a user tries to login to the system console when there is an active RDP connection, the remote RDP connection will be forcibly terminated.
  4. On Windows 10 Home PCs, incoming RDP connections are completely forbidden. However, with the same RDP Wrapper Library discussed here, that problem can be solved as well.

Interestingly, from a purely technical perspective, Windows 10 can indeed support multiple remote desktop connections right out of the box. In fact, any Windows version has the built in capability to support dozens (or even hundreds) of concurrent users connected via RDP at the same time – as long as the machine has enough memory of course (about 150-200 MB of RAM is needed per RDP session on average).

The single RDP user limitation is related to licensing and nothing else. It has nothing to do with the actual technical capabilities of the Windows operating system. The only technical limitation in this regard would be memory availability.
 
In the light of the above, please note this disclaimer…

Important Note (Disclaimer): System modifications described in this article may be treated as a violation of the Microsoft license agreement with all the consequences that come with it. This article is created mainly for educational purposes. Please do your own due diligence to understand the licensing implications of the RDP Wrapper Library if you intend to use it on a live system.

What Is The RDP Wrapper Library?

The RDP Wrapper Library is a utility that acts as a layer between the Service Control Manager (SCM) and Terminal Services to allow multiple RDP connections run concurrently. It also enables the remote RDP connection feature on PCs running Windows 10 Home (as mentioned above, this feature is disabled by default on all versions of Windows lower than Pro).

To get this library, download the zip file of the latest release of the RDP Wrapper Library from its Github page. As of this writing (April 4, 2019), the latest realease is v1.6.2.

Since this library is completely open source, you can also build it from source yourself. The full source code is available here: https://github.com/stascorp/rdpwrap

For our purpose, we will work with the pre-built release contained in the zip file.
 
Note: You may need to temporarily turn off your anti-virus software to allow the download.

Your downloaded archive will contain the following files:

  • RDPWinst.exe — the install/uninstall program (generally launched by the installer and uninstaller batch files below)
  • RDPConf.exe — a configuration utility
  • RDPCheck.exe — a local RDP checker (utility)
  • install.bat, update.bat, and uninstall.bat — batch files for installing, updating, or uninstalling the program

RDP Wrapper Library Release Files

Installing And Using The RDP Wrapper Library

Before installing RDP Wrapper, it is important to use the original (unpatched) version of the termsrv.dll file. If not, the RDP Wrapper Library may be unstable, or it may not even start at all. I point this out here because, some older methods of “hacking” Windows RDP to allow multiple concurrent sessions involved patching the termsrv.dll file.

To install the RDP Wrapper Library, run install.bat as an administrator. While installing the program, it attempts to access GitHub to get the latest version of the .ini file. If you want to disable this (you don’t really need to), just take off the -o flag in the install.bat file.

The program will be installed to the C:\Program Files\RDP Wrapper directory.

When you’re done with the installation, run RDPConfig.exe and make sure that all the items under the Diagnostics section are green.

If you removed the -o flag from the install.bat file during installation, or if you performed your installation without an Internet connection, you may notice that the Listener state is marked [not supported].

To fix this, download the rdpwrap.ini file from the its Github page and put it in the RDP Wrapper installation folder (C:\Program Files\RDP Wrapper). Restart RDP Wrapper and confirm that the previously [not supported] flag changes to [fully supported].

If you continue to get a [not supported] message, you may need to manually update your rdpwrap.ini file. How to do that is explained in the next sections.

The RDP Wrapper Library has some cool features:

  • An option to Hide users on logon screen – You may not want the list of logged in users to be visible on the welcome screen. This option lets you hide them.
  • Single session per user – If disabled, allows multiple concurrent RDP sessions under the same account.
  • …and quite a few other features

Once, you have finished setting up the RDP Wrapper, go ahead and open an RDP session. While the session is still running, open another. If you carefully followed the instructions here, both sessions should run concurrently.

Updating The rdpwrap.ini File After Windows Update Breaks It

I wrote this section (and the sections below it) after originally publishing this article and later becoming aware of a recurring problem with the RDP Wrapper caused by Windows Updates. If everything explained above works for you, you can simply ignore the rest of this article. You’re done. But if you’re still having issues (e.g. still getting a [not supported] message), this is likely caused by your newer version of Windows. If that is the case, keep reading.

As pointed out by Alan in the comments section, a recent Windows 10 update broke some stuff. This isn’t a big deal and often happens when certain Windows updates get installed.

In the following section, I will explain why Windows updates may break the RDP Wrapper functionality from time to time. I will also provide detailed steps to help you fix the problem whenever it happens.

Why Does Windows Update Break RDP Wrapper?

The reason for this is that Microsoft often ships new Windows 10 builds with programming updates to the dynamic link library used by the remote desktop protocol itself (the termsrv.dll file). As hinted above, the use of the RDP Wrapper to enable multiple concurrent RDP user connections is kind of like a licensing grey area. And since RDP Wrapper is not in itself a Microsoft product, we cannot expect Microsoft to update it for us.

Thankfully, however, the RDP Wrapper library has an enthusiastic community of geeks who use and support it. Let’s defer to them.

Where To Find Fixes (Or Offsets) For The RDP Wrapper Windows Update Problem

Generally speaking, when Windows update breaks the RDP Wrapper library, what you need to do is to grab an updated version of the rdpwrap.ini file, and you’re again good to go.

Lots of people use the RDP Wrapper library. It has a large community of both users and “developers”. Some of these developers have created their own “offsets” or fixes to get around the various Windows update issues that break the RDP Wrapper library. These fixes are usually just offsets defined in custom rdpwrap.ini file replacements.

Unfortunately, it may not always be easy to find the right fix (or rdpwrap.ini) to make the RDP Wrapper library start working again. This is because, after Windows update breaks it, you have to wait for a fix to be created by the community, and then search through github and forum posts to locate the proper fix.

One good place to check is the git repo provided by fre4kyC0de. He seems to post update fixes and rdpwrap.ini offsets as soon as they become available.

Fixing The Problem

Step 1: In order to update the rdpwrap.ini file, you first need to stop the RDP service, otherwise you will get an “access denied” error or similar.

To stop the RDP service, launch command prompt as an administrator and execute the following command:

net stop termservice

Step 2: Make sure you have the latest RDP Wrapper library installed. Again, remember not to patch your termsrv.dll file or the RDP Wrapper simply won’t work, even if you update the rdpwrap.ini file. This is important to note because some RDP Wrapper forum users provide third party patches to the termsrv.dll file. However, using such a patch in conjunction with the new offsets will break the RDP Wrapper library.

Step 3: Now, you need to patch your rdpwrap.ini configuration file. You will find the file here: C:\Program Files\RDP Wrapper\rdpwrap.ini.

You can patch this file by completely replacing your current rdpwrap.ini file or by updating your existing one.

If you’re replacing the file: This version of rdpwrap.ini should work for Windows 10 Pro users up to 1809 – 10.0.17763.437. Just download the zip file, extract it, and then use the rdpwrap.ini file it contains to overwrite your current file located in C:\Program Files\RDP Wrapper\rdpwrap.ini.

If you would rather patch the file yourself: Refer to the git repository provided by fre4kyC0de, then search for his latest Windows 10 version. As I write this article update (May 29, 2019), his latest Windows 10 patch is currently 10.0.17134.706.txt and it works perfectly for Windows 10 17763.475.

Once you have the right file, open your existing rdpwrap.ini file using a text editor and append his offsets to the end of your file. Make sure you leave a space (blank line) at the end of your ini file. RDPwrap will not function properly if there is any text at the bottom of the ini file, it needs to end with a blank space.

Step 4: Restart the remote desktop protocol (term service) via an elevated command prompt:

net start termservice

Step 5: Now, rerun the RDPConf.exe application and confirm that the “Wrapper state” is Installed, the “Service state” is Running, the “Listener state” is Listening and directly to the right of that, it should say [fully supported]. All of these values should be in green.

After completing the above steps and confirming that everything is running, your machine is ready to accept multiple concurrent remote desktop user connections.

Found this article valuable? Want to show your appreciation? Here are some options:

  1. Spread the word! Use these buttons to share this link on your favorite social media sites.
  2. Help me share this on . . .

    • Facebook
    • Twitter
    • LinkedIn
    • Reddit
    • Tumblr
    • Pinterest
    • Pocket
    • Telegram
    • WhatsApp
    • Skype
  3. Sign up to join my audience and receive email notifications when I publish new content.
  4. Contribute by adding a comment using the comments section below.
  5. Follow me on Twitter, LinkedIn, and Facebook.

Related

Filed Under: Computer Tips, Windows, Zero Code Tech Tagged With: RDP, RDP Wrapper, Remote Desktop, Windows, Windows 10

About Ehi Kioya

I am a Toronto-based Software Engineer. I run this website as part hobby and part business.

To share your thoughts or get help with any of my posts, please drop a comment at the appropriate link.

You can contact me using the form on this page. I'm also on Twitter, LinkedIn, and Facebook.

Reader Interactions

Comments

  1. Alan says

    April 15, 2019 at 1:36 pm

    I think the April 2019 Windows patch has this broken

    Reply
    • Ehi Kioya says

      May 29, 2019 at 6:45 am

      Hi Alan, thanks for pointing this out. I have now updated this article with detailed instructions to fix this recurring Windows Update problem.

      Have a look at this section above.

      The instructions are specific enough to fix the April 2019 Windows Update problem and yet generic enough to be easily adapted to fix the RDP Wrapper ini file (rdpwrap.ini) if it gets broken again by future Windows Updates.

      Hope it helps.

      Reply
  2. sharon says

    June 4, 2019 at 6:17 am

    Thanks for the updates and I would like to know, if you have any video

    Reply
    • Ehi Kioya says

      June 4, 2019 at 6:33 am

      Hi Sharon. No I don’t have any video for this. I currently don’t do videos generally. But I might consider this in the future. Thanks for stopping by.

      Reply
    • Travis says

      July 18, 2019 at 6:00 am

      If you like i can put a video together for you if you havent managed to come right as of yet.

      Reply
  3. Sunil says

    August 26, 2019 at 4:18 am

    Hi
    I am running on windows 10.0.18362 build 18362
    RDP wrapper is not working, the listening port is not listening , can you help please ?

    Reply
  4. Simon says

    August 27, 2019 at 3:55 am

    First time on here and I have to say this is the most informative and easily comprehensible guide to RDP Wrapper I’ve read. Many thanks… you’ve saved my bacon with this one.

    Reply
    • Ehi Kioya says

      August 27, 2019 at 7:36 am

      Hi Simon. I’m glad to hear you found this article informative and useful. Thanks for leaving your feedback!

      Reply
  5. Ulises says

    August 29, 2019 at 11:49 am

    OMG dude, you’re a crack. It really work for me, thank you so muchh.

    Reply
    • Ehi Kioya says

      August 30, 2019 at 5:55 pm

      Great to hear this worked for you, Ulises! Thank you for leaving your feedback.

      Reply
  6. Talexg says

    September 27, 2019 at 11:48 am

    Have just downloaded the zip file and ran it through Malware Bytes to be safe, and it reported that RDPWINST.EXE, RDPCHECK.EXE and RDPCONF.EXE are malware (RiskWare.RemoteAdmin)
    Is it AV being overly cautious (similar to reporting perfectly safe password revealers to be malware) or should I worry that the files been compromised?

    Reply
    • Ehi Kioya says

      September 27, 2019 at 12:01 pm

      If you downloaded from the github link I indicated above, you shouldn’t worry about malware. As mentioned above, tools that modify the official Microsoft termsrv.dll file operate in a legal licensing gray area. So it shouldn’t be too surprising that anti-virus software flag them as threats.

      As noted in the article, you may even want to temporarily disable Windows Defender (or any other anti-virus software that you use) in order to download and install this. Just consider the Malware Bytes report you got to be a false positive and continue with the process.

      Reply
  7. DiegoQ says

    October 7, 2019 at 1:03 pm

    Hi!
    Everything worked perfectly till yesterday.
    I don’t know if there was an update that broke the patch.
    I’m running on Windows10 Pro
    Version 1809 OS 17763.775

    Reply
  8. Juan Carlos Silva says

    October 24, 2019 at 12:53 pm

    Dear Ehi and appreciated community.

    My problems is that only one connection is permitted at a time, but not mutiple sessions as I need.

    Any suggestions?

    I tried to allow up to 999999 users through gpedit.msc option.

    I also replace the rdpwrap.ini as inidcated here.

    Winver: 18362.418

    Reply
    • Ehi Kioya says

      October 24, 2019 at 1:07 pm

      Hi Juan Carlos Silva. When you run the RDPConf.exe application, what values do you get for “Wrapper state”, “Service state”, and “Listener state”?

      Reply
    • Ehi Kioya says

      October 24, 2019 at 1:29 pm

      You may also want to note that gpedit.msc configuration tweaks are not necessary in order to get the RDP Wrapper library working. So you may want to consider undoing any changes you made in gpedit.msc and elsewhere.

      And don’t forget that (as mentioned in the article), “before installing RDP Wrapper, it is important to use the original (unpatched) version of the termsrv.dll file.”

      So, if you had already experimented with other methods of bypassing the Windows single user RDP restriction, that might be the source of your problem. Undo any previous changes and try this again.

      Unfortunately, I can’t be of too much help without having further details.

      Reply
  9. JAvier says

    November 4, 2019 at 3:57 pm

    I try the Wrapper in Windows 10 LTSC and all except the license appear in Green but only 1 concurrent remote connection Works for me. Any idea how i can fix it?
    If not I can try to manually modify the REGEDIT entries in order to test it.

    Reply
    • JAvier says

      November 4, 2019 at 4:00 pm

      Auto reply.

      the patch show not supported near to the Green listening Word. Any idea how i can fix it?

      Reply
    • Ehi Kioya says

      November 4, 2019 at 6:25 pm

      Hi JAvier,

      I wouldn’t recommend that REGEDIT method unless it’s an absolute last resort. The process described above on this page has always worked for me for a long time. And whenever Windows update breaks something, I just update my rdpwrap.ini file as described in this section above.

      Have you already tried updating your rdpwrap.ini file? Which offset version are you using?

      Reply
      • Javier says

        November 5, 2019 at 5:39 am

        Hi Ehi, my version the win 10 17763, i think is not supported yet. So i can not fix it.

        In rdpwrap.ini file appear my windows version but it dont work.

        Reply
  10. Stephen says

    November 14, 2019 at 9:43 am

    hello, has there been a fix. the PC updated the other day. I am on 10.0.18363. only one RDP is allowed at a time .

    Reply
  11. Sam Taylor says

    November 19, 2019 at 3:39 pm

    Windows 10 Pro
    OS Build 18362.476
    Version 1903

    Wrapper State: Installed ver. 1.5.0.0
    Service state: Running ver. 10.0.10240.16384
    Listener state: Listening [fully supported]

    Have installed and updated. One RDP session works. When I try to connect a second RDP session it asks if I want to disconnect prior user. How do I get this to work with multiple RDP sessions? Thanks for you help and a good product. Just need to get my kinks worked out.

    Reply
  12. Brian says

    January 5, 2020 at 12:40 am

    Hi. I have been trying for a week now to figure this out. I am not able to edit the files like you said to. It says I have to get permission, or that the program is already running.

    Can you help? The issue i am having is that the listener status is not supported.

    Thanks in advance.

    Reply
    • Ehi Kioya says

      January 5, 2020 at 5:26 am

      Hi Brian,

      If you are trying to edit the rdpwrap.ini file using Notepad (or any other text editor), make sure that you first run your text editor as administrator before opening up the file using the File >> Open menu. That way, you should not get any permissions errors.

      Hope that helps.

      Reply
    • Brian says

      January 5, 2020 at 9:51 am

      Hi:

      I am still getting the same error. Not supported no matter what I do.

      Is there a way for you to remote into my computer to help? I don’t. I d paying you.

      What I am looking for is for users to have their own desktop and only use internet explorer and notepad.

      I am at the point of crazy. Lol. I hope you can help. This is just not working for me.

      Thanks in advance.

      Reply
  13. Brian says

    January 6, 2020 at 10:53 pm

    Hi. I reached out to you for help possibly remote help to get my listener status not supported to supported but no answer.

    I would not mind paying you. Please let me know.

    Reply
    • Ehi Kioya says

      January 7, 2020 at 10:12 am

      Hi Brian. I would love to help but unfortunately, I am not available for such work at this time. The best I can do for now is to try answering my readers’ questions via this comments section. Sorry.

      Reply
  14. Robert says

    February 19, 2020 at 2:32 am

    I found this on another website, worked for me (version 10.0.18363.657), just paste below the rest at ini file

    [10.0.18362.657]
    LocalOnlyPatch.x86=1
    LocalOnlyOffset.x86=B7D06
    LocalOnlyCode.x86=jmpshort
    LocalOnlyPatch.x64=1
    LocalOnlyOffset.x64=82FB5
    LocalOnlyCode.x64=jmpshort
    SingleUserPatch.x86=1
    SingleUserOffset.x86=50535
    SingleUserCode.x86=nop
    SingleUserPatch.x64=1
    SingleUserOffset.x64=0DBFC
    SingleUserCode.x64=Zero
    DefPolicyPatch.x86=1
    DefPolicyOffset.x86=50269
    DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
    DefPolicyPatch.x64=1
    DefPolicyOffset.x64=1FE15
    DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
    SLInitHook.x86=1
    SLInitOffset.x86=5A77A
    SLInitFunc.x86=New_CSLQuery_Initialize
    SLInitHook.x64=1
    SLInitOffset.x64=22DDC
    SLInitFunc.x64=New_CSLQuery_Initialize

    [10.0.18362.657-SLInit]
    bInitialized.x86 =D577C
    bServerSku.x86 =D5780
    lMaxUserSessions.x86 =D5784
    bAppServerAllowed.x86 =D578C
    bRemoteConnAllowed.x86=D5790
    bMultimonAllowed.x86 =D5794
    ulMaxDebugSessions.x86=D5798
    bFUSEnabled.x86 =D579C
    bInitialized.x64 =F6A8C
    bServerSku.x64 =F6A90
    lMaxUserSessions.x64 =F6A94
    bAppServerAllowed.x64 =F6A9C
    bRemoteConnAllowed.x64=F6AA0
    bMultimonAllowed.x64 =F6AA4
    ulMaxDebugSessions.x64=F6AA8
    bFUSEnabled.x64 =F6AAC

    Reply
    • Norberto says

      March 10, 2020 at 6:58 am

      Hello,

      Yes its work for me to 🙂

      Reply
  15. Marekus says

    February 27, 2020 at 1:36 am

    Hi Ehi,
    Great blog man. I check it frequently for any updates.
    Is there anyway to remotely manage a computer running this system? My friend wants it setup but he’s in a different country, I know that as soon as I remote in, there will be issues because it invokes the remote desktop app which then means one cannot make changes to it. I tried locally and its just not possible. How if I use something like the Chrome browser remote access app?
    thanks
    Marekus

    Reply
    • Ehi Kioya says

      February 27, 2020 at 1:45 am

      Hi Marekus,

      Yes, there certainly are other options to remotely control any computer. TeamViewer is one such tool that I use often. I have previously written an in-depth blog post about this: A Guide To Remote Controlling Your Computer From Anywhere.

      The Chrome browser remote access tool should also work if that’s your preference.

      Cheers!

      Reply
  16. Jose Leal says

    May 13, 2020 at 11:46 am

    Hi, for all that have issue recently, microsoft put KB4556799, thats update the 18362.836 termsrv.dll, and de rdp wrappler dont work, i suggest uninstall this update until some help to put support on .ini file from rdp wrappler.

    Reply
  17. Ivan says

    May 15, 2020 at 2:05 pm

    This repository has been disabled.
    Access to this repository has been disabled by GitHub Staff due to a violation of GitHub’s terms of service. If you are the owner of the repository, you may reach out to GitHub Support for more information.

    Reply
  18. Olusola says

    May 27, 2021 at 6:17 am

    Hello brother,
    I really appreciate your article. It has been of tremendous help to me. Kudos!

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

23,737
Followers
Follow
30,000
Connections
Connect
14,568
Page Fans
Like
  • Recently   Popular   Posts   &   Pages
  • Actual Size Online Ruler Actual Size Online Ruler
    I created this page to measure your screen resolution and produce an online ruler of actual size. It's powered with JavaScript and HTML5.
  • How To Change A SharePoint List Or Library URL How To Change A SharePoint List Or Library URL
    All versions of the SharePoint user interface provide an option to change the title (or display name) of a list or library. Changing SharePoint library URL (or internal name), however, is not exactly very intuitive. We will discuss the process in this article.
  • WordPress Password Hash Generator WordPress Password Hash Generator
    With this WordPress Password Hash Generator, you can convert a password to its hash, and then set a new password directly in the database.
  • About
  • Contact

© 2022   ·   Ehi Kioya   ·   All Rights Reserved
Privacy Policy