|
|
1 month ago | |
|---|---|---|
| .github/workflows | 1 month ago | |
| bin | 10 years ago | |
| docs | 3 months ago | |
| res | 3 months ago | |
| src-installer | 1 month ago | |
| src-rdpcheck | 11 years ago | |
| src-rdpconfig | 8 years ago | |
| src-x86-binarymaster | 10 years ago | |
| src-x86-x64-Fusix | 7 years ago | |
| .gitattributes | 10 years ago | |
| .gitignore | 8 years ago | |
| LICENSE | 12 years ago | |
| README.md | 1 month ago | |
| technical.txt | 8 years ago | |
README.md
RDP Wrapper Library
Maintained fork by @sjackson0109 — based on the original work by Stas'M / binarymaster.
The goal of this project is to enable Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage.
RDP Wrapper works as a layer between Service Control Manager and Terminal Services, so the original termsrv.dll file remains untouched. Also this method is very strong against Windows Update.
| NT Version | Screenshots |
|---|---|
| Windows Vista | ![]() |
| Windows 7 | ![]() |
| Windows 8 | ![]() |
| Windows 8.1 | ![]() |
| Windows 10 | ![]() |
This solution was inspired by Windows Product Policy Editor, big thanks to kost :)
— binarymaster
Attention:
It's recommended to have original termsrv.dll file with the RDP Wrapper installation. If you have modified it before with other patchers, it may become unstable and crash in any moment.
Information:
- Source code is available, so you can build it on your own
- RDP Wrapper does not patch termsrv.dll, it loads termsrv with different parameters
- RDPWInst and RDPChecker can be redistributed without development folder and batch files
- RDPWInst can be used for unattended installation / deployment
- Windows 2000, XP and Server 2003 will not be supported
Key features:
- RDP host server on any Windows edition beginning from Vista through Windows 11
- Console and remote sessions at the same time
- Using the same user simultaneously for local and remote logon (see configuration app)
- Up to 15 concurrent sessions (the actual limitation depends on your hardware and OS version)
- Console and RDP session shadowing (using Task Manager in Windows 7 and lower, and Remote Desktop Connection in Windows 8 and higher)
- Full multi-monitor support for RDP host
- Automatic INI updates — the installer fetches the latest
rdpwrap.inidirectly from GitHub Releases, published automatically by CI/CD on every change - Auto-generation of offsets for unknown builds — if your
termsrv.dllversion is not yet in the INI, the installer downloads RDPWrapOffsetFinder and generates the missing section on-the-fly (inspired by sergiye/rdpWrapper) - ...and if you find a new feature not listed here, tell us ;)
Porting to other platforms:
- ARM for Windows RT (see links below)
- IA-64 for Itanium-based Windows Server? Well, I have no idea :)
Building the binaries:
- x86 Delphi version (installer, config tool, checker) — requires Embarcadero RAD Studio 2010 or later; no automated CI yet
- x86/x64 C++ version (
rdpwrap.dll) — can be built locally with Visual Studio 2013+, or automatically via the Build C++ DLL GitHub Actions workflow (uses MSVC v143 / VS 2022) by pushing av*tag
CI/CD Pipelines:
| Workflow | Trigger | Output |
|---|---|---|
| publish-ini.yml | Push to main/master touching res/rdpwrap.ini, or manual |
GitHub Release with rdpwrap.ini, RDPWrapOffsetFinder_x64/x86.exe, Zydis_x64/x86.dll |
| build-cpp.yml | Version tag push (v*) |
GitHub Release with rdpwrap_x64.dll and rdpwrap_x86.dll |
Links:
- This fork (maintained):
https://github.com/sjackson0109/rdpwrap/ - Original upstream repository (archived / unmaintained):
https://github.com/stascorp/rdpwrap/ - Inspiration for auto-offset generation:
sergiye/rdpWrapper - Offset finder tool used for auto-generation:
llccd/RDPWrapOffsetFinder - Official Telegram chat:
https://t.me/rdpwrap - Active discussion in the comments here:
Enable remote desktop on Windows 8 core / basic - Andrew Block .net - MDL Projects and Applications thread here:
RDP Wrapper Library (works with Windows 8.1 Basic) - Some ideas about porting to ARM for Windows RT (post #23):
[Q] Mod Windows RT to enable Remote Desktop - Adding «Remote Desktop Users» group:
http://superuser.com/questions/680572/
Tutorial videos:
Updating RDP Wrapper INI file manually(now use installer to update INI file)- How to find offsets for new termsrv.dll versions
Files in release package:
| File name | Description |
|---|---|
RDPWInst.exe |
RDP Wrapper Library installer/uninstaller |
RDPCheck.exe |
Local RDP Checker (you can check the RDP is working) |
RDPConf.exe |
RDP Wrapper Configuration |
install.bat |
Quick install batch file |
uninstall.bat |
Quick uninstall batch file |
update.bat |
Quick update batch file |
Frequently Asked Questions
Where can I download the installer or binaries?
In the GitHub Releases section.
Is it legal to use this application?
There is no definitive answer, see this discussion.
The installer tries to access the Internet, is it normal behaviour?
Yes, it works in online mode by default. You may disable it by removing -o flag in the install.bat file.
What is online install mode?
Online install mode was introduced in version 1.6.1. When installing for the first time using this mode, the installer downloads the latest rdpwrap.ini from this repository's GitHub Releases — published automatically by CI/CD whenever res/rdpwrap.ini is updated. If your termsrv.dll version is not yet listed in the downloaded INI, the installer will additionally download RDPWrapOffsetFinder and attempt to auto-generate the missing offsets on the spot.
What is INI file and why we need it?
INI file was introduced in version 1.5. It stores system configuration for RDP Wrapper — general wrapping settings, binary patch codes, and per build specific data. When new termsrv.dll build comes out, developer adds support for it by updating INI file in repository.
Config Tool reports version 1.5, but I installed higher version. What's the matter?
Beginning with version 1.5 the rdpwrap.dll is not updated anymore, since all settings are stored in INI file. Deal with it.
Config Tool shows
[not supported]and RDP doesn't work. What can I do?
Make sure you're connected to the Internet and run update.bat. This will download the latest INI from GitHub Releases and, if your termsrv.dll version is still missing, will automatically run RDPWrapOffsetFinder to generate offsets for your specific build.
Update doesn't help, it still shows
[not supported].
Check the issues section to see if your termsrv.dll build is mentioned. If not, please open a new issue with your exact build version (shown by the Config Tool). You can also run RDPWInst.exe -w from an Administrator command prompt to see the full output of the update and auto-generation steps.
Why
RDPCheckdoesn't allow to change resolution and other settings?
RDPCheck is a very simple application and only for testing purposes. You need to use Microsoft Remote Desktop Client (mstsc.exe) if you want to customize the settings. You can use 127.0.0.1 or 127.0.0.2 address for loopback connection.
Known issues:
- Beginning with Windows 8 on tablet PCs inactive sessions will be logged out by system - more info
- Beginning with Windows 10 you can accidentally lock yourself from PC - more info
- Beginning with the Creators Update for Windows 10 Home, RDP Wrapper will no longer work, claiming that the listener is
[not listening]because ofrfxvmt.dllis missing - more info, download links - Terminal Service does not start after installing some updates or "Access Denied" issue - #215, #101
- RDP Wrapper does not work with RemoteFX enabled hosts - #127, #208, #216
- RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll
6.0.6000.16386) - If Terminal Services hangs at startup, try to add
rdpwrap.dllto antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command:sc config TermService type= own - RDP Wrapper can be removed by AVG Free Antivirus and Norton Antivirus - first make sure you downloaded official release from GitHub, then add it to exclusions.
Change log:
2026.03.29
- Fork maintained by @sjackson0109
- INI source redirected from unmaintained stascorp upstream to this repository's GitHub Releases
- CI/CD pipeline added —
publish-ini.ymlpublishesrdpwrap.iniand theRDPWrapOffsetFindertools as release assets on every INI change - CI/CD pipeline added —
build-cpp.ymlbuildsrdpwrap_x64.dll/rdpwrap_x86.dllvia MSVC v143 (VS 2022) on version tag push - Auto-offset generation added to
RDPWInst.dpr— on install (-i) and update (-w), if the runningtermsrv.dllversion is absent from the INI the installer downloadsRDPWrapOffsetFinderfrom release assets and appends the generated[x.x.xxxxx.xxxxx]section automatically; inspired by sergiye/rdpWrapper - New installer helpers:
DownloadFileToDisk,INIHasSection,TryAutoGenerateOffsets
2017.12.27
- Version 1.6.2
- Installer updated
- Include updated INI file for latest Windows builds
- Added check for supported Windows versions (#155)
- Added feature to take INI file from current directory (#300)
- Added feature to restore rfxvmt.dll (missing in Windows 10 Home #194)
- RDP Config updated
- Added feature to allow custom start programs (#13 (comment))
- MSI installation package added (#14)
2016.08.01
- Version 1.6.1
- Include updated INI file for latest Windows builds
- Installer updated
- Added online install mode
- Added feature to keep settings on uninstall
- RDP Config updated
- Fixed update firewall rule on RDP port change
- Added feature to hide users on logon
2015.08.12
- Version 1.6
- Added support for Windows 10
- INI file has smaller size now - all comments are moved to KB file
- Installer updated
- Added workaround for 1056 error (although it isn't an error)
- Added update support to installer
- Newest RDPClip versions are included with installer
- RDP Checker updated
- Changed connect IP to 127.0.0.2
- Updated some text messages
- RDP Config updated
- Added all possible shadowing modes
- Also it will write settings to the group policy
2014.12.11
- Version 1.5
- Added INI config support
- Configuration is stored in INI file now
- We can extend version support without building new binaries
- Added support for Windows 8.1 with KB3000850
- Added support for Windows 10 Technical Preview Update 2
- Installer updated
- RDP Config updated
- Diagnostics feature added to RDP Config
2014.11.14
- Version 1.4
- Added support for Windows 10 Technical Preview Update 1
- Added support for Windows Vista SP2 with KB3003743
- Added support for Windows 7 SP1 with KB3003743
- Added new RDP Configuration Program
2014.10.21
- Installer updated
- Added feature to install RDP Wrapper to System32 directory
- Fixed issue in the installer - NLA setting now remains unchanged
- Local RDP Checker updated
- SecurityLayer and UserAuthentification values changed on check start
- RDP Checker restores values on exit
2014.10.20
- Version 1.3
- Added support for Windows 10 Technical Preview
- Added support for Windows 7 with KB2984972
- Added support for Windows 8 with KB2973501
- Added extended support for Windows Vista (SP0, SP1 and SP2)
- Added extended support for Windows 7 (SP0 and SP1)
- Some improvements in the source code
- Installer updated to v2.2
- Fixed installation bug in Vista x64 (wrong expand path)
- Local RDP Checker updated
- Added description to error 0x708
2014.07.26
- Version 1.2
- Added support for Windows 8 Developer Preview
- Added support for Windows 8 Consumer Preview
- Added support for Windows 8 Release Preview
- Added support for Windows 8.1 Preview
- Added support for Windows 8.1
- More details you will see in the source code
- Installer updated to v2.1
2013.12.09
- C++ port of RDP Wrapper was made by Fusix
- x64 architecture is supported now
- Added new command line installer v2.0
- Added local RDP checker
- Source code (C++ port, installer 2.0, local RDP checker) is also included
2013.10.25
- Version 1.1 source code is available
2013.10.22
- Version 1.1
- Stable release
- Improved wrapper (now it can wrap internal unexported termsrv.dll SL Policy function)
- Added support for Windows 8 Single Language (tested on Acer Tablet PC with Intel Atom Z2760)
2013.10.19
- Version 1.0
- First [beta] version
- Basic SL Policy wrapper
Supported Terminal Services versions:
- 6.0.X.X (Windows Vista / Server 2008)
- 6.0.6000.16386 (Windows Vista)
- 6.0.6001.18000 (Windows Vista SP1)
- 6.0.6002.18005 (Windows Vista SP2)
- 6.0.6002.19214 (Windows Vista SP2 with KB3003743 GDR)
- 6.0.6002.23521 (Windows Vista SP2 with KB3003743 LDR)
- 6.1.X.X (Windows 7 / Server 2008 R2)
- 6.1.7600.16385 (Windows 7)
- 6.1.7600.20890 (Windows 7 with KB2479710)
- 6.1.7600.21316 (Windows 7 with KB2750090)
- 6.1.7601.17514 (Windows 7 SP1)
- 6.1.7601.21650 (Windows 7 SP1 with KB2479710)
- 6.1.7601.21866 (Windows 7 SP1 with KB2647409)
- 6.1.7601.22104 (Windows 7 SP1 with KB2750090)
- 6.1.7601.18540 (Windows 7 SP1 with KB2984972 GDR)
- 6.1.7601.22750 (Windows 7 SP1 with KB2984972 LDR)
- 6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR)
- 6.1.7601.22843 (Windows 7 SP1 with KB3003743 LDR)
- 6.1.7601.23403 (Windows 7 SP1 with KB3125574)
- 6.1.7601.24234 (Windows 7 SP1 with KB4462923)
- 6.2.8102.0 (Windows 8 Developer Preview)
- 6.2.8250.0 (Windows 8 Consumer Preview)
- 6.2.8400.0 (Windows 8 Release Preview)
- 6.2.9200.16384 (Windows 8 / Server 2012)
- 6.2.9200.17048 (Windows 8 with KB2973501 GDR)
- 6.2.9200.21166 (Windows 8 with KB2973501 LDR)
- 6.3.9431.0 (Windows 8.1 Preview)
- 6.3.9600.16384 (Windows 8.1 / Server 2012 R2)
- 6.3.9600.17095 (Windows 8.1 with KB2959626)
- 6.3.9600.17415 (Windows 8.1 with KB3000850)
- 6.3.9600.18692 (Windows 8.1 with KB4022720)
- 6.3.9600.18708 (Windows 8.1 with KB4025335)
- 6.3.9600.18928 (Windows 8.1 with KB4088876)
- 6.3.9600.19093 (Windows 8.1 with KB4343891)
- 6.4.9841.0 (Windows 10 Technical Preview)
- 6.4.9860.0 (Windows 10 Technical Preview Update 1)
- 6.4.9879.0 (Windows 10 Technical Preview Update 2)
- 10.0.9926.0 (Windows 10 Pro Technical Preview)
- 10.0.10041.0 (Windows 10 Pro Technical Preview Update 1)
- 10.0.10240.16384 (Windows 10 RTM)
- 10.0.10586.0 (Windows 10 TH2 Release 151029-1700)
- 10.0.10586.589 (Windows 10 TH2 Release 160906-1759 with KB3185614)
- 10.0.11082.1000 (Windows 10 RS1 Release 151210-2021)
- 10.0.11102.1000 (Windows 10 RS1 Release 160113-1800)
- 10.0.14251.1000 (Windows 10 RS1 Release 160124-1059)
- 10.0.14271.1000 (Windows 10 RS1 Release 160218-2310)
- 10.0.14279.1000 (Windows 10 RS1 Release 160229-1700)
- 10.0.14295.1000 (Windows 10 RS1 Release 160318-1628)
- 10.0.14300.1000 (Windows Server 2016 Technical Preview 5)
- 10.0.14316.1000 (Windows 10 RS1 Release 160402-2227)
- 10.0.14328.1000 (Windows 10 RS1 Release 160418-1609)
- 10.0.14332.1001 (Windows 10 RS1 Release 160422-1940)
- 10.0.14342.1000 (Windows 10 RS1 Release 160506-1708)
- 10.0.14352.1002 (Windows 10 RS1 Release 160522-1930)
- 10.0.14366.0 (Windows 10 RS1 Release 160610-1700)
- 10.0.14367.0 (Windows 10 RS1 Release 160613-1700)
- 10.0.14372.0 (Windows 10 RS1 Release 160620-2342)
- 10.0.14379.0 (Windows 10 RS1 Release 160627-1607)
- 10.0.14383.0 (Windows 10 RS1 Release 160701-1839)
- 10.0.14385.0 (Windows 10 RS1 Release 160706-1700)
- 10.0.14388.0 (Windows 10 RS1 Release 160709-1635)
- 10.0.14393.0 (Windows 10 RS1 Release 160715-1616)
- 10.0.14393.1198 (Windows 10 RS1 Release Sec 170427-1353 with KB4019472)
- 10.0.14393.1737 (Windows 10 RS1 Release Inmarket 170914-1249 with KB4041691)
- 10.0.14393.2457 (Windows 10 RS1 Release Inmarket 180822-1743 with KB4343884)
- 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700)
- 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739)
- 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902)
- 10.0.14926.1000 (Windows 10 RS Pre-Release 160910-1529)
- 10.0.14931.1000 (Windows 10 RS Pre-Release 160916-1700)
- 10.0.14936.1000 (Windows 10 RS Pre-Release 160923-1700)
- 10.0.14942.1000 (Windows 10 RS Pre-Release 161003-1929)
- 10.0.14946.1000 (Windows 10 RS Pre-Release 161007-1700)
- 10.0.14951.1000 (Windows 10 RS Pre-Release 161014-1700)
- 10.0.14955.1000 (Windows 10 RS Pre-Release 161020-1700)
- 10.0.14959.1000 (Windows 10 RS Pre-Release 161026-1700)
- 10.0.14965.1001 (Windows 10 RS Pre-Release 161104-1700)
- 10.0.14971.1000 (Windows 10 RS Pre-Release 161111-1700)
- 10.0.14986.1000 (Windows 10 Build 160101.0800)
- 10.0.14997.1001 (Windows 10 Build 160101.0800)
- 10.0.15002.1001 (Windows 10 Build 160101.0800)
- 10.0.15007.1000 (Windows 10 Build 160101.0800)
- 10.0.15014.1000 (Windows 10 Build 160101.0800)
- 10.0.15019.1000 (Windows 10 RS Pre-Release 170121-1513)
- 10.0.15025.1000 (Windows 10 RS Pre-Release 170127-1750)
- 10.0.15031.0 (Windows 10 RS2 Release 170204-1546)
- 10.0.15042.0 (Windows 10 RS2 Release 170219-2329)
- 10.0.15046.0 (Windows 10 Build 160101.0800)
- 10.0.15048.0 (Windows 10 Build 160101.0800)
- 10.0.15055.0 (Windows 10 Build 160101.0800)
- 10.0.15058.0 (Windows 10 Build 160101.0800)
- 10.0.15061.0 (Windows 10 Build 160101.0800)
- 10.0.15063.0 (Windows 10 Build 160101.0800)
- 10.0.15063.296 (Windows 10 Build 160101.0800)
- 10.0.15063.994 (Windows 10 Build 160101.0800)
- 10.0.15063.1155 (Windows 10 Build 160101.0800)
- 10.0.16179.1000 (Windows 10 Build 160101.0800)
- 10.0.16184.1001 (Windows 10 Build 160101.0800)
- 10.0.16199.1000 (Windows 10 Build 160101.0800)
- 10.0.16215.1000 (Windows 10 Build 160101.0800)
- 10.0.16232.1000 (Windows 10 Build 160101.0800)
- 10.0.16237.1001 (Windows 10 Build 160101.0800)
- 10.0.16241.1001 (Windows 10 Build 160101.0800)
- 10.0.16251.0 (Windows 10 Build 160101.0800)
- 10.0.16251.1000 (Windows 10 Build 160101.0800)
- 10.0.16257.1 (Windows 10 Build 160101.0800)
- 10.0.16257.1000 (Windows 10 Build 160101.0800)
- 10.0.16273.1000 (Windows 10 Build 160101.0800)
- 10.0.16275.1000 (Windows 10 Build 160101.0800)
- 10.0.16278.1000 (Windows 10 Build 160101.0800)
- 10.0.16281.1000 (Windows 10 Build 160101.0800)
- 10.0.16288.1 (Windows 10 Build 160101.0800)
- 10.0.16291.0 (Windows 10 Build 160101.0800)
- 10.0.16294.1 (Windows 10 Build 160101.0800)
- 10.0.16296.0 (Windows 10 Build 160101.0800)
- 10.0.16299.0 (Windows 10 Build 160101.0800)
- 10.0.16299.15 (Windows 10 Build 160101.0800)
- 10.0.16353.1000 (Windows 10 Build 160101.0800)
- 10.0.16362.1000 (Windows 10 Build 160101.0800)
- 10.0.17004.1000 (Windows 10 Build 160101.0800)
- 10.0.17017.1000 (Windows 10 Build 160101.0800)
- 10.0.17025.1000 (Windows 10 Build 160101.0800)
- 10.0.17035.1000 (Windows 10 Build 160101.0800)
- 10.0.17046.1000 (Windows 10 Build 160101.0800)
- 10.0.17063.1000 (Windows 10 Build 160101.0800)
- 10.0.17115.1 (Windows 10 Build 160101.0800)
- 10.0.17128.1 (Windows 10 Build 160101.0800)
- 10.0.17133.1 (Windows 10 Build 160101.0800)
- 10.0.17134.1 (Windows 10 Build 160101.0800)
- 10.0.17723.1000 (Windows 10 Build 160101.0800)
- 10.0.17763.1 (Windows 10 Build 160101.0800)
Confirmed working on:
- Windows Vista Starter (x86 - Service Pack 1 and higher)
- Windows Vista Home Basic
- Windows Vista Home Premium
- Windows Vista Business
- Windows Vista Enterprise
- Windows Vista Ultimate
- Windows Server 2008
- Windows 7 Starter
- Windows 7 Home Basic
- Windows 7 Home Premium
- Windows 7 Professional
- Windows 7 Enterprise
- Windows 7 Ultimate
- Windows Server 2008 R2
- Windows 8 Developer Preview
- Windows 8 Consumer Preview
- Windows 8 Release Preview
- Windows 8
- Windows 8 Single Language
- Windows 8 Pro
- Windows 8 Enterprise
- Windows Server 2012
- Windows 8.1 Preview
- Windows 8.1
- Windows 8.1 Connected (with Bing)
- Windows 8.1 Single Language
- Windows 8.1 Connected Single Language (with Bing)
- Windows 8.1 Pro
- Windows 8.1 Enterprise
- Windows Server 2012 R2
- Windows 10 Technical Preview
- Windows 10 Pro Technical Preview
- Windows 10 Home
- Windows 10 Home Single Language
- Windows 10 Pro
- Windows 10 Enterprise
- Windows Server 2016 Technical Preview
Installation instructions:
- Download latest release binaries and unpack files
- Right-click on
install.batand select Run as Administrator - See command output for details
To update INI file:
- Right-click on
update.batand select Run as Administrator - See command output for details
To uninstall:
- Go to the directory where you extracted the files
- Right-click on
uninstall.batand select Run as Administrator - See command output for details












