Skip to content
Home » How To Fix Remote Desktop DPI Scaling Problem

How To Fix Remote Desktop DPI Scaling Problem

Last updated on July 18th, 2023 at 06:29 am

Do you have a computer with a High-DPI screen? Highest display? And all there is very little you can see inside your Desktop Connection, try this solution right away to solve your problem.

This problem is caused by the lack of DPI scaling about the remote desktop client. If you open a remote desktop connection with a server or other computer, the system’s own resolution is used instead of measuring to 1920 × 1080, so you get very small icons and all other stuff etc.

First tell Your Operating System to look for a visible file for an application by default. This can be accomplished by setting a registry entry.

Open regedit and navigate to the registry key:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
Right-click, select NEW -> DWORD (32 bit) Value
Type PreferExternalManifest and then press ENTER.
Right-click PreferExternalManifest, and then click Modify.
Enter Value Data 1 and select Decimal.
Click OK. Exit Registry Editor.

Now you have to create the manifest file, mstsc.exe.manifest. Copy the contents below and put it in Notepad or similar tool and save it to a file as %SystemRoot%\System32\mstsc.exe.manifest. Important is that you save the file in the same directory as the Remote Desktop Client executable (mstsc.exe).

	
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 
<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>
 
<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>
 
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>
 
<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>
 
</assembly>

Note that you can use the manifest for other applications also that aren’t scaling correctly as well.

Share this cool trick with others to help them.