(The above shows Photoshop CS3 displaying super-tiny buttons due to scaling issues)
Having a high resolution screen is very nice – everything looks much cleaner and more detailed. Well, at least that is the theory and it works well on most modern devices where both the OS and the applications are aware of potentially large(!) variations in pixel densities across many devices. Unfortunately, Windows has a long history and much of it’s applications, even today, are not aware of this. When ultra-high dpi devices (such as the Surface devices) were introduced to the market, things looked pretty ugly – super tiny, overlapping or blurry fonts, buttons, cursors, and other elements. Even the vertical scroll bars were too thin to grab. These are the scaling issues you will be facing on all Windows devices with high dpi screens no matter who built it.
Soon, Microsoft introduced means for developers to handle wider variety of dpi displays within Windows, but the application developers couldn’t catch up quickly. And in many cases, they chose not to. Like many, I own many older copies of applications that are borderline unusable on today’s modern devices. And just to be clear, in most cases, the problem is caused by the apps, NOT Windows. Microsoft can’t help you here with some magical updates.
How do you deal with such situations? Although the following method won’t work with every single legacy apps with scaling issues, it will work for many. Unfortunately, there’s no global button you set to enable this – you must create a manifest file for each app, but once done, you can forget about it.
Here are the steps:
- Press “Windows Button” + R.
- Type “regedit” then <Enter>. It may ask for permission, if so click on “Yes”.
- Navigate to “HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide“
- Right-click on “SideBySide”, then click on “NEW > DWORD (32bit)”.
- Type “PreferExternalManifest” then <Enter>.
- Once the new entry is created on the right side of the panel, right click on “PreferExternalManifest“, then “Modify”.
- Enter the value 1. Make sure the Base is of type “Decimal”.
- Finally, click on “Ok”.
You just told Windows that you want to use external manifest file by creating one new entry in the registry. Now, you must create your own manifest file and place it in the same location as where the EXE file of your app is located.
Download the following file, rename it, then place it in the right directory where your EXE file is located: (Click here to download). Your manifest file MUST be renamed to match your EXE file, then append “.manifest”. So if your EXE file was “Photoshop.exe” then your manifest file should read “Photoshop.exe.manifest”.
Now you can execute your EXE file and hopefully your app will present you with less scaling issues.
What I have found out so far on this workaround is that it doesn’t work in all cases. Out of all apps I have tried so far, about half of them worked (on the Surface Pro 4) and more the up to date the app, more likely that it will work. As an example, I have a very old copy of Adobe Photoshop (version CS3) and this workaround doesn’t work for me at all, both on the Surface Pro 4 and the Dell XPS 15. But for some of the other recent apps, it works great. Some of the more recent Adobe apps have also been reported to be working. In some cases, the scaling works better but overall, it looks a bit more blurry – still a better trade-off.
Here is the link to the original article written by Dan Antonielli.
Since I still want to use the Photoshop CS3, I’m afraid I’ll have to continue to look for other solutions… Oh well.