Disabling DPI Scaling on Windows 8.1 - The Enterprise Way

A common observation post upgrade to Windows 8.1 is that certain applications look a bit ‘blurry’ compared to the way they looked in Windows 8. In a post on the PFE Developer blog, Malaysia PFE Jonathan Yong talked about how to disable DPI scaling on the client side. In this follow-up post, Jonathan discusses a simple way to roll out this fix across your organization via GPO or SCCM.

This is a follow up post from the previous MSDN blog DPI Aware Managed Applications on Windows 8.1. In the previous post, we discussed what DPI scaling is, how to disable it and how to make the application DPI aware if you have the source code. The method mentioned to disable the DPI scaling needs to be performed by the individual user. It works, but it’s not ideal if your user is not computer savvy and it will burden your helpdesk support.

What you need is a solution which can be automatically rolled out to all your users without their intervention. This is useful if you have an application which is used by a lot of users and the settings need to be applied to all these users; OR you want this setting to be included as part of your Windows 8.1 upgrade roll out in the company.

The solution can’t get any simpler.  When you tick the Disable display scaling on high DPI settings in the Compatibility tab of the executable property page (by right clicking the executable and selecting Property), this setting is stored in the registry key under HKEY Current User (HKCU). The registry path is HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.

~ HIGHDPIAWARE Registry Key example

All you need to do is to create a script that creates the registry key and roll out that script using GPO or SCCM.

You can use the reg.exe command to accomplish this task. A sample script to create the registry key is as follows:

reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<full path to Executable>" /t REG_SZ /d "~ HIGHDPIAWARE"

Note that there is a space between the tilde and the HIGHDPIAWARE.

Original content from Jonathan Yong. Posted by MSPFE editor Pam Lahoud.