GitPedia

MsRdpEx

Microsoft RDP Client Extensions

From Devolutions·Updated June 20, 2026·View on GitHub·

Download and install the latest MsRdpEx MSI package [GitHub releases](https://github.com/Devolutions/MsRdpEx/releases). The project is written primarily in C++, distributed under the MIT License license, first published in 2021. Key topics include: api-hooking, rdp.

Latest release: v2026.06.18.0MsRdpEx v2026.06.18.0
June 18, 2026View Changelog →

Microsoft RDP Extensions (MsRdpEx)

Installation

Download and install the latest MsRdpEx MSI package GitHub releases.

After installation, the launcher executables and API hooking DLL can be found in "%ProgramFiles%\Devolutions\MsRdpEx":

MsRdpEx Installed

The installer automatically associates .RDP files with mstscex, and .RDPW files with msrdcex, so you can get started right away. Simply revert the file type association to use the original Microsoft Remote Desktop Clients without the extensions, or launch mstsc.exe/msrdc.exe manually.

This repository also contains a C# nuget package that can be used to consume the RDP ActiveX interface with or without API hooking, along with launching mstsc.exe or msrdc.exe as external processes using MsRdpEx.dll.

Extended .RDP File Options

MsRdpEx processes additional .RDP file options that are not normally supported by mstsc.exe:

RDP settingDescriptionValuesDefault value
KDCProxyURL:s:valueKerberos KDC Proxy HTTPS URLKDC Proxy HTTPS URL, not using error-prone KDCProxyName format, and unrestricted in length, like https://<hostname>:443/KdcProxy-
UserSpecifiedServerName:s:valueServer name used for TLS and Kerberos server validationexplicit server name (usually the machine FQDN)same as DNS hostname used for RDP server
EnableMouseJiggler:i:valueEnable RDP mouse jiggler0/10
MouseJigglerInterval:i:valueRDP mouse jiggler interval in secondsInterval in seconds60
MouseJigglerMethod:i:valueRDP mouse jiggler method0/10
AllowBackgroundInput:i:valueAllow background input events when window is not in focus0/10
EnableRelativeMouse:i:valueEnable relative mouse mode0/10
DisableCredentialsDelegation:i:valueDisable CredSSP credential delegation0/10
RedirectedAuthentication:i:valueEnable Remote Credential Guard0/10
RestrictedLogon:i:valueEnable Restricted Admin Mode0/10
DisableUDPTransport:i:valueDisable RDP UDP transport (TCP only)0/10
ConnectToChildSession:i:valueConnect to child session0/10
EnableHardwareMode:i:valueDisable DirectX client presenter (force GDI client presenter)0/11
ClearTextPassword:s:valueTarget RDP server password - use for testing onlyInsecure password-
GatewayPassword:s:valueRD Gateway server password - use for testing onlyInsecure password-

Extended RDP client logs

MsRdpEx also supports extended logging controlled by environment variables:

powershell
$Env:MSRDPEX_LOG_ENABLED="1" $Env:MSRDPEX_LOG_LEVEL="DEBUG" .\mstscex.exe <destination.rdp>

If you don't pass a .RDP file, the mstsc.exe GUI will launch normally, but you won't be able to leverage any of the extended MsRdpEx .RDP file options. The default log file path location is in "%LocalAppData%\MsRdpEx\MsRdpEx.log". You can override log settings using the MSRDPEX_LOG_LEVEL and MSRDPEX_LOG_FILE_PATH environment variables:

powershell
$Env:MSRDPEX_LOG_ENABLED="1" $Env:MSRDPEX_LOG_LEVEL="TRACE" $Env:MSRDPEX_LOG_FILE_PATH="C:\Windows\Temp\MsRdpEx.log" .\mstscex.exe

The trace log level is extremely verbose, so it should only be used when necessary. The MsRdpEx logging is very helpful in understanding the Microsoft RDP client internals.

Building from source

Generate the Visual Studio project files for your target platform:

powershell
mkdir build-x64 && cd build-x64 cmake -G "Visual Studio 18 2026" -A x64 ..

Open the Visual Studio solution or build it from the command-line:

powershell
cmake --build . --config Release

You should now have mstscex.exe and MsRdpEx.dll.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from Devolutions/MsRdpEx via the GitHub API.Last fetched: 6/22/2026