RDP Wrapper not listening: why it breaks after Windows updates and what to do instead
RDP Wrapper Not listening [not supported]: your termsrv.dll build is missing from rdpwrap.ini. Also covers fully supported but not listening.
Published ~11 min read
On this page
RDP Wrapper says Not listening when the Remote Desktop listener it is supposed to unlock never starts. In almost every case the reason sits right next to it in RDPConf: the version of termsrv.dll on your PC has no matching section in rdpwrap.ini, so the wrapper has no offsets to patch and RDPConf adds [not supported]. A Windows update that replaced termsrv.dll is the usual trigger. Running update.bat rarely helps today, because the project’s official INI was last updated on October 10, 2018 and stops at build 10.0.17763.1.
Short answer
Not listening [not supported] means your termsrv.dll build is missing from rdpwrap.ini, usually after a Windows update. The official INI has no Windows 11 build and no patched Windows 10 build after 1809. For more than one remote session the supported route is Windows Server: two admin sessions included, more with RDS CALs.
RDP Wrapper Library (the stascorp/rdpwrap project on GitHub) turns on the Remote Desktop host and concurrent sessions on Windows editions that limit them: Home cannot accept Remote Desktop connections at all, and Pro allows one interactive user at a time. It does not touch the termsrv.dll file on disk. Instead it points the Remote Desktop service (TermService) at its own rdpwrap.dll, which loads the original termsrv.dll and changes a few bytes of it in memory.
Which bytes, and where, depends on the exact build of termsrv.dll. That is what rdpwrap.ini holds: one section per build, named after the four-part file version, with hexadecimal offsets for each patch. A shortened section from the official file:
Offsets only fit the build they were measured on. When Windows Update installs a new termsrv.dll, its version number changes, the wrapper finds no section with that number, and it has nothing it can safely apply. That single design fact explains nearly every “not listening” report.
RDP Wrapper at a glance
Latest release
v1.6.2December 27, 2017
Official INI updated
2018-10-10
Newest build in the INI
10.0.17763.1
Install folder
C:\Program Files\RDP Wrapper
Files there
rdpwrap.dll, rdpwrap.ini
Main registry value
TermService\Parameters\ServiceDll
Other values it sets
fDenyTSConnections=0, EnableConcurrentSessions=1, AllowMultipleTSSessions=1plus Terminal Server\AddIns keys if missing
Files it may add to System32
rfxvmt.dll, rdpclip.exeonly if missing; rfxvmt.dll on Windows 10 and 11, rdpclip.exe on Vista and 7
Tools in the package
RDPWInst, RDPConf, RDPCheck
Firewall rule it adds
Remote Desktop, 3389 TCP + UDPopen to any address
The release dates come from the project’s changelog and the Updated= line of the INI on its master branch, both checked on November 2, 2026. The installer can also put the files in System32 instead (RDPWInst.exe -i -s); the INI then sits next to rdpwrap.dll there.
How we checked: we did not run RDP Wrapper on a machine of ours for this article. The status logic below comes from reading RDPConf’s source (MainUnit.pas), the installer switches and every registry and file change from the installer’s source (RDPWInst.dpr), and the dates from the project’s GitHub history: release v1.6.2 published December 27, 2017, last change to rdpwrap.ini on October 10, 2018. All of it was checked on November 2, 2026.
Why does RDP Wrapper show “Not listening”?
RDPConf shows three states and a version, and each one points at a different cause:
Wrapper state: Installed when the ServiceDll value of TermService contains rdpwrap.dll, Not installed when it contains termsrv.dll, 3rd-party when it contains neither or when TermService no longer runs inside svchost.exe (its ImagePath value).
Service state: the state of TermService (Remote Desktop Services), for example Running or Stopped.
Listener state: Listening when Windows has a session named RDP-Tcp, the listener that accepts connections on port 3389. Not listening when it does not.
The version label next to the termsrv.dll version: [fully supported] if the INI contains a section with exactly that number, [supported partially] only for Windows Vista and 7 builds without one, and [not supported] otherwise.
Symptom, cause, fix
1Symptom: Listener state: Not listening, version [not supported]
Cause
Your termsrv.dll build has no section in rdpwrap.ini. The official file ends at 10.0.17763.1, the first release of Windows 10 1809, so every later Windows 10 build and every Windows 11 build lands here. The project’s issue tracker is full of the same story: an update arrives, the version changes, Remote Desktop stops.
Fix
update.bat (or RDPWInst.exe -w) downloads the INI from the project’s master branch, which is the 2018 file, so it changes nothing. The honest fixes are to remove the wrapper and use the edition’s own limits, or to move the multi-user job to Windows Server. Pasting offsets from forum posts is the route we advise against.
2Symptom: Not listening, although the version says [fully supported]
Cause
RDPConf only checks that a section with your build number exists, not that its offsets are right. A hand-added section with wrong offsets, a service that was not restarted after the INI changed, Remote Desktop being switched off (next row, check that first), or a missing rfxvmt.dll all end here. The project’s README lists the missing rfxvmt.dll as a known issue on Windows 10 Home from the Creators Update on, but the v1.6.2 installer puts its own copy into System32 when the file is missing, so today it mostly hits older installs or a file removed later.
Fix
Restart the service from the local screen, not over RDP, and read what Windows logged:PowerShell (Administrator), at the PC itself
Test-Path "$env:SystemRoot\System32\rfxvmt.dll" shows whether the DLL is there. If it is not, running the v1.6.2 installer again writes its bundled copy back, which means one more file from the package in System32 (see the cons below).
3Symptom: Not listening and [fully supported], Remote Desktop switched off
Cause
Windows only creates the RDP-Tcp listener while Remote Desktop is allowed. When fDenyTSConnections is 1, there is no listener, whatever the wrapper does. That happens when Enable Remote Desktop in RDPConf is unchecked, when a Group Policy denies Remote Desktop connections, or after an earlier uninstall.bat or RDPWInst.exe -u, which switches Remote Desktop off (see below).
Fix
Read both values; 0 means allowed:PowerShell (Administrator)
# the switch RDPConf and Settings change: 0 = allowed, 1 = off (no RDP-Tcp listener)
Get-ItemPropertyValue 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections
# a policy value here wins over the one above; no output = no policy set
Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -ErrorAction SilentlyContinue |
Select-Object fDenyTSConnections
Tick Enable Remote Desktop in RDPConf and click Apply, or on Pro turn on Remote Desktop under Settings > System > Remote Desktop. If the policy value is 1, change it where the policy comes from (gpedit.msc or your domain); the checkbox cannot override it.
4Symptom: Service state: Stopped, and it will not stay running
Cause
TermService crashes while loading the wrapper. Two common reasons: an INI section with bad offsets (issue #2554 in the project describes exactly that, fixed by deleting the section), or security software that removed rdpwrap.dll, so the DLL the service is told to load is gone.
Fix
Check Protection history in Windows Security for a quarantined rdpwrap.dll, and the System log as in row 2 (event IDs 7000, 7023, 7031 and 7034 are service start and crash events). To get Remote Desktop back to Windows’ own behavior, remove the wrapper.
5Symptom: Wrapper state: Not installed or 3rd-party
Cause
Not installed: ServiceDll points at termsrv.dll again, after an uninstall or because something reset the value. 3rd-party: it points at a DLL that is neither, such as another patcher, or TermService was moved out of svchost.exe.
Fix
Look at the value and at who signed the file it names (commands in the next section). A 3rd-party state on a machine where you did not install another patcher deserves a malware scan before anything else.
6Symptom: Listening and [fully supported], but the client still cannot connect
Cause
The listener works, so the wrapper is not the problem: a firewall, a changed port, Network Level Authentication or the network in between is.
Use the version RDPConf shows, or build it the same way in PowerShell. Do not go by winver: the Windows build and the termsrv.dll file version are not always the same number, and only the file version has to match the INI. The second command then looks for that exact section in the INI next to the wrapper:
PowerShell (Administrator)
# termsrv.dll version as four numbers, the way RDPConf builds it
$v = (Get-Item "$env:SystemRoot\System32\termsrv.dll").VersionInfo
$ver = '{0}.{1}.{2}.{3}' -f $v.FileMajorPart, $v.FileMinorPart, $v.FileBuildPart, $v.FilePrivatePart
$ver
# is there a section [<that version>] in the INI? no output = [not supported]
Select-String -Path "$env:ProgramFiles\RDP Wrapper\rdpwrap.ini" -SimpleMatch "[$ver]"
Then see what the Remote Desktop service really loads and whether anything listens:
PowerShell (Administrator)
# which DLL TermService loads: ...\rdpwrap.dll = wrapper active, ...\termsrv.dll = Windows default
$dll = Get-ItemPropertyValue 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters' -Name ServiceDll
$dll
Get-AuthenticodeSignature $dll | Format-List Status, SignerCertificate
# service and listener
Get-Service TermService
qwinsta | Select-String -SimpleMatch 'rdp-tcp' # a line with "Listen" = RDP-Tcp is up
Get-NetTCPConnection -LocalPort 3389 -State Listen -ErrorAction SilentlyContinue
termsrv.dll is signed by Microsoft. rdpwrap.dll is not, so a NotSigned status for it is expected; for a 3rd-party DLL it is a reason to find out where the file came from. If RDP runs on another port, put that number in the last line.
What about the rdpwrap.ini files people post?
Because the official file stopped in 2018, users find offsets for new builds themselves and post them in issue threads, forks and forum posts. RDPConf then turns green, since it only checks that the section header exists. Whether the offsets are right is another matter: the project’s own tracker has a case where a user-added section made TermService crash until it was deleted. You would be loading byte patches from an unknown author into the service that handles every Remote Desktop login, and repeating it after every update that changes termsrv.dll. We do not link to these files.
How do I remove RDP Wrapper cleanly?
Run uninstall.bat from the release folder as Administrator, or RDPWInst.exe -u. Both do more than remove the wrapper: they set fDenyTSConnections to 1, which switches Remote Desktop off, and delete the firewall rule named Remote Desktop for port 3389. RDPWInst.exe -u -k skips those two steps, so Remote Desktop stays enabled and the Remote Desktop rule stays in place. Then check that the service is back on Windows’ own DLL. If the uninstaller is gone, set the value back by hand and restart the service; do this at the PC itself, because the restart ends every RDP session:
PowerShell (Administrator), at the PC itself
$p = 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters'
Set-ItemProperty -Path $p -Name ServiceDll -Value '%SystemRoot%\System32\termsrv.dll' -Type ExpandString
Restart-Service TermService -Force
# the rule the installer added for 3389 TCP and UDP, open to any address
# (uninstall.bat already deleted it; -u -k and the manual route keep it)
Get-NetFirewallRule -DisplayName 'Remote Desktop' -ErrorAction SilentlyContinue | Format-Table DisplayName, Enabled, Direction
Remove-NetFirewallRule -DisplayName 'Remote Desktop' # if 3389 should not be open to every address
Delete C:\Program Files\RDP Wrapper afterwards if it is still there. After uninstall.bat or -u, Remote Desktop is off: on Pro, turn it back on under Settings > System > Remote Desktop (see enabling Remote Desktop), and it then works the way Windows ships it, one interactive user at a time. On Home, the host side is gone again. A few changes stay behind either way: the installer also set EnableConcurrentSessions and AllowMultipleTSSessions to 1, may have added keys under Terminal Server\AddIns, and may have written rfxvmt.dll (or rdpclip.exe on Vista and 7) into System32; the uninstaller removes none of them.
Is RDP Wrapper legal?
The project’s own FAQ declines to answer (“There is no definitive answer”). Microsoft’s license terms are less vague. The Windows 11 terms that come with most PCs (OEM edition, last updated April 2024) say in section 2(c) that you may not:
“work around any technical restrictions or limitations in the software” (2(c)(iv)), and
“make the software available for simultaneous use by more than one user over a network” (2(c)(v)), which the same clause extends to using it as server software or to offer commercial hosting services.
Section 2(d)(v) adds that other people may use the PC remotely, at different times, only from devices “separately licensed to run the same or higher edition”. A wrapper that unlocks concurrent sessions on a client edition is hard to square with any of that. This is not legal advice; it is what the terms say. Remote Desktop into Home is a separate point: Microsoft’s Remote Desktop help page says the PC you connect to must run a Pro edition, so the licensed way to reach a Home PC over RDP is an upgrade to Pro.
Is RDP Wrapper safe?
What speaks for it
Open source, so the patching logic can be read
Leaves the termsrv.dll file on disk unchanged
The uninstaller puts the service DLL back and deletes the wrapper's folder
What speaks against it
No release since v1.6.2 (2017) and no official INI update since 2018
A third-party DLL inside the service that checks every Remote Desktop login
Writes its own rfxvmt.dll into System32 if the file is missing, and the uninstaller leaves it there together with two registry values
Current builds only work with offsets from unknown authors
Several antivirus vendors list it as a hacking tool or potentially unwanted program
Attackers install it too, to get a hidden second session
The last point is documented: Trend Micro tracks it as HKTL_RDPWRAP, Cyble described a 2024 campaign that installed RDP Wrapper together with Tailscale on victims’ PCs, and AhnLab’s ASEC reported the Kimsuky group using a modified build. So if you find RDP Wrapper on a machine and did not put it there, treat it as an incident, not a convenience. And if you run it on a PC whose port 3389 is open to the internet, the installer’s firewall rule makes it reachable from any address; the same hardening as on a server applies, from an IP allowlist to an account lockout policy (see securing a Windows RDP server).
The supported way to multiple RDP sessions: Windows Server
Windows Server is built for exactly what people install RDP Wrapper for. Every edition allows two simultaneous remote sessions for administration without extra licenses, plus the console. More users at once need the Remote Desktop Session Host role and RDS client access licenses (CALs); Microsoft gives a 120-day grace period before a license server is required, and the CALs have to be for the same Windows Server version or a newer one. Multiple RDP sessions on Windows Server walks through both levels, including one account with two sessions.
Scroll sideways to see every column
RDP Wrapper on client Windows
Windows Server
Concurrent sessions
As many as the patch unlocks, while it works
2 for administration; more with RDSH + RDS CALs
After a Windows update
Breaks whenever termsrv.dll changes
Keeps working
Allowed by Microsoft's license terms
Conflicts with 2(c)(iv) and 2(c)(v)
Yes
Third-party code in the RDP service
Yes, rdpwrap.dll
No
Maintained
Last release 2017, official INI 2018
Microsoft, with monthly updates
Extra cost
None beyond the PC's Windows license
Server license; RDS CALs only beyond 2 admin sessions
Runs where
Your own PC at home or in the office
Your own server, VPS or dedicated machine
RDP Wrapper dates from the project's changelog and rdpwrap.ini; Windows Server limits from Microsoft Learn. Checked November 2, 2026.
If the goal is simply to reach your own PC from elsewhere, you need neither: Windows Pro accepts one Remote Desktop user out of the box, and enabling Remote Desktop takes the same commands on Pro as on Windows Server. If the goal is a Windows desktop that two people, a trading terminal and a bot can use around the clock, a Windows Server of your own is the clean way to get it.
Frequently asked
Why does RDP Wrapper say Not listening?
Because the Remote Desktop listener (a session named RDP-Tcp) never started. Look at the label next to the termsrv.dll version in RDPConf: [not supported] means rdpwrap.ini has no section for your exact termsrv.dll build, usually after a Windows update replaced the file, so the wrapper has no offsets to patch. If it says [fully supported] and still does not listen, first check that Remote Desktop is switched on at all: when fDenyTSConnections is 1 (Enable Remote Desktop unchecked in RDPConf, a Group Policy that denies it, or an earlier uninstall.bat or RDPWInst.exe -u), Windows creates no listener. Otherwise the section exists but its offsets are wrong, the service was not restarted, or Remote Desktop Services crashed while loading the wrapper.
How do I fix RDP Wrapper not supported after a Windows update?
Not with update.bat any more: it downloads rdpwrap.ini from the project's master branch, and that file was last updated on October 10, 2018 and ends at build 10.0.17763.1. Offsets for newer builds only exist in files posted by other users, which are unvetted and have crashed Remote Desktop Services for some. The clean options are to uninstall the wrapper (uninstall.bat or RDPWInst.exe -u) and use Windows as licensed, or to move multi-user work to Windows Server.
Does RDP Wrapper work on Windows 11?
Not with the official files. The last release is v1.6.2 from 2017, and the official rdpwrap.ini contains no Windows 11 build at all, so RDPConf shows [not supported] on every Windows 11 version unless someone else's offsets are added by hand. Those have to be replaced each time a cumulative update changes termsrv.dll.
Is RDP Wrapper safe?
It is open source and leaves termsrv.dll on disk unchanged, but it runs a third-party DLL inside the service that handles every Remote Desktop login, has not been maintained since 2018, and on current Windows builds depends on offsets from unknown authors. Several antivirus vendors classify it as a hacking tool or potentially unwanted program, and security researchers have documented attack campaigns that install it. If you find it on a machine where you did not install it, treat it as a security incident.
Is RDP Wrapper legal?
The project's own FAQ says there is no definitive answer. Microsoft's Windows 11 license terms (OEM edition, April 2024) forbid working around technical restrictions or limitations in the software and making it available for simultaneous use by more than one user over a network. The supported way to several concurrent RDP users is Windows Server: two sessions for administration are included, and more need the Remote Desktop Session Host role and RDS CALs.