Most of the contents of this post will likely fall within the “Oh, I’ve already seen this in about a thousand other forums” category… and if you’re thinking that, you would be correct. I have spent about 2 days on this issue, and even ended up calling Microsoft about it, and ended up deducing a solution on my own.
I am running an RDS 2012 RemoteApp (Session Based) deployment. One of my clients who happens to be running Windows 7 Pro decided that the resolution of the RemoteApp is too small, even though their native DPI was set to 150% on their workstation.
If you search the web about this problem, the summary of what you will find is the following:
- If you are using a 2008 R2 session host, you can download a Hotfix that will enable the DPI settings within a Remote Desktop Session. (regardless of your operating system)
- If you are using 2012 or 2012 R2 session, you will find that it’s been “automagically fixed” to match the client DPI with the remote session DPI.
- Some articles will even mention that upgrading to the RDP Protocol 8.1 will allow the same functionality for dynamic DPI to work with Windows 7. I still recommend installing protocol 8.1 anyway on Windows 7, for general RDS reliability; However, that will not fix the dynamic DPI issue.
With the above, that leaves you with one conclusion, the dynamic DPI will only work with Windows 8/8.1, but not Windows 7. and Windows 2012 R2 is “optimized” to not allow the user to adjust the DPI manually. That’s great news for Windows 8/8.1 users, but bad news for those running Windows 7 and need a higher DPI.
Here, my friends is the solution for the Windows 7 DPI:
In order to change it, whether in a published desktop or remote session scenario is to actually adjust the registry to change that DPI setting. This will in fact apply to the remote session, independently of what the local client’s DPI is. 2 ways to do this:
- You can create a Group Policy Preference with a registry in the HKCU/Control Panel/Desktop/ create a DWORD value: LogPixels and give it a value of Decimal: 96, 120, or 144 for 100% , 125% , and 150%
The problem with this method is that some of your users may not want that particular DPI, and now you’re stuck in a scoping management mess in your GPO. I have personally opted for option 2, to give the users the choice to choose their own DPI.
- Thanks to our friend Michel Stevelmans, we now have a little utility that allows the users to change the DPI as a published remote app. You simply download the utility and publish it as a RemoteApp. Now, the users can launch the app, change their DPI, log off, and log back on, and they can control their own DPI within the 2012 R2 remote session even while running Windows 7.
I hope this article will save some of you the time and heartache that I had to go through before I figured out these little details.