High-DPI Application Manifest Registry Path
Windows manages high-DPI application manifests and scaling behaviors through specific entries in the Windows Registry. This article details the exact registry paths used to enable system-wide external high-DPI application manifests and manage global DPI compatibility settings across the operating system.
Primary Registry Key for External High-DPI Manifests
To force Windows to prioritize external high-DPI
.manifest files over embedded application manifests
globally, the configuration parameter is located in the
SideBySide registry key:
- Registry Path:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide - Value Name:
PreferExternalManifest - Type:
REG_DWORD - Value Data:
1= Enabled (Forces Windows to check for external.manifestfiles when launching applications)0= Disabled (Default behavior, embedded manifests are prioritized)
When enabled, placing a properly configured XML
.manifest file containing DPI awareness declarations (such
as <dpiAware>true</dpiAware> or
<dpiAwareness>PerMonitorV2</dpiAwareness>) in
the same directory as an application executable forces that application
to adopt the specified DPI scaling rules.
System-Wide DPI Compatibility Settings
If you are configuring DPI scaling overrides per application across all user accounts rather than using raw manifest files, the system-wide parameters are stored in the Application Compatibility key:
- Registry Path:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers - Value Name: The full file path to the target
executable (e.g.,
C:\Program Files\App\example.exe) - Type:
REG_SZ(String Value) - Value Data: DPI compatibility flags, such as:
~ HIGHDPIAWARE(System-level DPI awareness)~ DPIUNAWARE(Disables DPI scaling, letting Windows scale the bitmap)~ PERPROCESSSYSTEMDPIFORCE(Forces System Enhanced scaling)
Applying the Registry Changes
- Press
Win + R, typeregedit, and press Enter. - Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide. - Right-click the right pane, select New > DWORD (32-bit)
Value, and name it
PreferExternalManifest. - Double-click the value, set the Value data to
1, and select Hexadecimal. - Click OK and restart the computer or restart the
explorer.exeprocess for the changes to take effect across the system.