Saving Microsoft Remote Desktop (MSRDC) before it's gone
Microsoft's Remote Desktop client for Windows (MSRDC) is being deprecated — and recent updates have broken MsRdpEx integration.
If you rely on MSRDC for features the new Windows App or mstsc don't handle well, now's the time to lock in a stable version and disable automatic updates before it disappears completely.
Downloading a Stable MSRDC Build
Here are direct download links to version 1.2.6228.0, which is the last version of MSRDC that still works well with MsRdpEx:
Starting with MSRDC 1.2.6277.0, loading the RDP ActiveX from rdclientax.dll fails with error code 4872, and I couldn't figure out what changed. Launching msrdc.exe from MsRdpEx still worked until MSRDC 1.2.6353.0, but now AVD connections fail with the connection information tampering error.
With the MSRDC end of support date set to March 27, 2026, it just doesn't seem to be worth the effort anymore.
Disabling MSRDC Automatic Updates
By default, MSRDC is set to automatically update itself. Disable automatic updates so you can pin a version of MSRDC that is known to work:
$MsrdcPoliciesRegPath = "HKLM:\Software\Microsoft\MSRDC\Policies"
New-Item -Path $MsrdcPoliciesRegPath -Force | Out-Null
Set-ItemProperty -Path $MsrdcPoliciesRegPath -Name 'AutomaticUpdates' -Value 0 -Type DWORD
You can then check that automatic updates are disabled from the Remote Desktop client GUI (msrdcw.exe):
Finding MSRDC CDN Download URLs using winget
Let's say you want to save a different version of MSRDC for later, how do you go about it? The simplest is to extract the information from winget, like this:
PS > winget show --id Microsoft.RemoteDesktopClient --version 1.2.6228.0 --exact --source winget
Found Remote Desktop [Microsoft.RemoteDesktopClient]
Version: 1.2.6228.0
Publisher: Microsoft Corporation
Publisher Url: https://www.microsoft.com/
Publisher Support Url: https://support.microsoft.com/
Author: Microsoft Corporation
Moniker: msrdc
Description: You can access Windows Virtual Desktop resources on devices with Windows 7, Windows 10, and Windows 10 IoT Enterprise using the Windows Desktop client.
Homepage: https://learn.microsoft.com/azure/virtual-desktop/users/connect-windows
License: Proprietary
License Url: https://www.microsoft.com/legal/terms-of-use
Privacy Url: https://privacy.microsoft.com/privacystatement
Copyright: © Microsoft Corporation
All rights reserved.
Copyright Url: https://www.microsoft.com/legal/intellectualproperty/trademarks
Tags:
remote-desktop
virtual-desktop
Installer:
Installer Type: wix
Installer Url: https://res.cdn.office.net/remote-desktop-windows-client/ff46c1a3-9b23-4752-a79c-d13a309ca9d3/RemoteDesktop_1.2.6228.0_x64.msi
Installer SHA256: d39ae50b56e115d9bf9c0f86c8ab2029fefaeddfbc2c4a1c8cfb523d72c6a888
Offline Distribution Supported: true
By default, winget shows package information for your current platform, but you can use the architecture parameter (-a x64
or -a ARM64
) to force a different one.
Finding MSRDC CDN Download URLs using PowerShell
If you just want to find the MSRDC CDN download URLs once to save them, calling winget works. However, if you'd like to automate it to bulk-download a lot of versions, you'll want to extract the information using PowerShell. Let's get a bit fancy by fetching the winget manifest files straight from GitHub.
First, install the Yayaml PowerShell module to parse YAML:
Install-Module -Name Yayaml -Force
You can find the manifest file on GitHub for MSRDC version 1.2.6228.0 here. Use git-rawify.vercel.app to convert the GitHub browser link to a "raw" GitHub URL that can be fetched directly in PowerShell. Run the following PowerShell code snippet:
$Version = "1.2.6228.0"
$YamlUrl = "https://raw.githubusercontent.com/microsoft/winget-pkgs/master/manifests/m/Microsoft/RemoteDesktopClient/$Version/Microsoft.RemoteDesktopClient.installer.yaml"
$YamlText = Invoke-WebRequest -Uri $YamlUrl -UseBasicParsing | Select-Object -ExpandProperty Content
$Manifest = ConvertFrom-Yaml -Yaml $YamlText
$Manifest.Installers | ForEach-Object {
[PSCustomObject]@{
Architecture = $_.Architecture
InstallerUrl = $_.InstallerUrl
InstallerSha256 = $_.InstallerSha256
}
} | Format-List
The output should now include package information for all architectures at once:
Architecture : x86
InstallerUrl : https://res.cdn.office.net/remote-desktop-windows-client/e2971a84-ac0d-4836-a23c-7990bf81238e/RemoteDesktop_1.2.6228.0_x86.msi
InstallerSha256 : E55987A83A42FF3B1AB1C96EC215B69B87A7173D8DA9D272B8EECC9BD7A47538
Architecture : x64
InstallerUrl : https://res.cdn.office.net/remote-desktop-windows-client/ff46c1a3-9b23-4752-a79c-d13a309ca9d3/RemoteDesktop_1.2.6228.0_x64.msi
InstallerSha256 : D39AE50B56E115D9BF9C0F86C8AB2029FEFAEDDFBC2C4A1C8CFB523D72C6A888
Architecture : arm64
InstallerUrl : https://res.cdn.office.net/remote-desktop-windows-client/cb804398-63fd-494a-9ad5-34c1803296ac/RemoteDesktop_1.2.6228.0_ARM64.msi
InstallerSha256 : 8BD1D9DB7DCD716B5A8741E69BD76F34AF868F6D29B9AD24EED8700C74AB3B6D
Saving MSRDC for later
It’s unclear how long the CDN download URLs for MSRDC will remain active after end of support. They’ll likely be unlisted from the website first, but may eventually be removed entirely. To be safe, keep a local backup of the installer files.
Even if the downloads disappear, the SHA256 hashes will remain available in the winget manifest history, which can still be used for integrity verification.
Closing Note
MSRDC's end is near. This workaround won't last forever — but pinning a known-good version should buy you some time.