Microsoft RDP Clients for Windows, and the confusion therein

While trying to solve some RDP pixel density (HiDPI) issues, I have found that Microsoft makes the following RDP clients:

Name Acronym/EXE Notes
Remote Desktop Connection MSTSC default program for RDP files, pre-installed
Remote Desktop MSRDC random exe linked from Remote Desktop Services documentation
Microsoft Remote Desktop (metro app) Microsoft Store metro app for Windows 10

Because the default handler was the pre-installed Remote Desktop Connection (MSTSC) program, I had originally assumed that this is was the one and only RDP client for Windows; however, as I saw references to a Metro-UI client, I began looking and eventually came to this documentation page:

Confusingly, this documentation seemingly ignores the existence of the Remote Desktop Connection (MSTSC) program that comes with Windows itself!

After some initial web searching, I cannot seem to find anything that substantively talks about what the difference is between these three RDP clients, especially between Remote Desktop Connection (MSTSC) and Remote Desktop (MSRDC). Does anyone know what the differences are?

The later is a component of Remote Desktop Services which is used in the enterprise to serve remote desktop & remote app via a web broker and other things.

Unless you spend time in the enterprise, learning the latter isn’t worth the effort.

Does this mean that the metro app is also part of Remote Desktop Services? Would all three programs be able to open an RDP file and connect to the server instance indicated therein?

I suppose I do not understand what makes MSRDC “part of” Remote Desktop Services but MSTSC not. Do MSRDC and the metro app use a different implementation of the RDP spec?

I am not working in enterprise, but I am trying help fix the carnage caused by the enterprise. If one is having pixel density or scaling issues, might the non-MSTSC clients give me more knobs to adjust when opening a server-generated RDP file?

Specifically, I am trying to solve an issue where the remote/server machine and programs therein should not be in HiDPI mode, but MSTSC insists on using the full local resolution; this means we have either:

  • miniature and unusable icons, buttons etc.
  • with 200% zoom: legible buttons and UI, but the remote desktop is now 4 × my screen resolution, and I need to use scrollbars constantly to pan around the remote desktop

Normally, one might think to change the remote resolution, but Microsoft blocks display changes in the remote machine’s control panel.

My current workaround is

  1. change the local/client machine’s resolution to one quarter of native resolution
  2. download+open the necessary RDP file
  3. Once connected, change local resolution back to normal
  4. Set MSTSC zoom to 200%

They are basically the same thing is really all you need to know, since RDS services is all server-side. MSTSC or the metro version is still the primary way to connect, it is just interacted with via a web-portal or RDP file created by the server.