Our environment prominently featuers an outdated but absolutely mission-critical Win32 application that is not dpi-aware. It is optimized for an 800x600 display. Most of our users now have 17"-20" displays with native resolutions ranging from 1280x1024 to 1680x1050. However, they still operate these displays at 800x600 because the text in this legacy application is otherwise too small. Of course, it also means that nothing quite fits on the screen in Office 2007.

Most of our workstations still run Windows XP, but some are on Windows 7 and there are more to come. About one-third of our users run the app remotely via MS Terminal Services, and the remainder run it locally.

Is anyone aware of any method that could be used to scale this specific application to about 170%, so that it would fill a 1280x1024 screen, without affecting other applications that work best at the display's native resolution? I know how to do this in Mac OS X, but I have never found a way to do it in Windows.

Of course, this ideally would be something that we could push out via Group Policy. I suppose we even could create a custom MSI package to re-deploy the legacy application with some sort of display virtualization layer, if such a thing exists.

  • I suppose updating the app is out of the question? Seems like all these workarounds and lost productivity would eventually add up to the cost of rebuilding the app? – micmcg Apr 22 '10 at 0:29
  • It may happen someday, but we're talking about ~200 users and years of infrastructure built up around this app's back-end database, including custom data transfer integration with a large number of clients and vendors. One would hope that screen scaling would be the more trivial near-term option. – Skyhawk Apr 22 '10 at 1:12

Two suggestions for you:

  1. For the users running the application locally on Windows 7 you might look into installing Windows XP Mode on their computers and installing tha application there.

  2. For the users running the application from Terminal Services you might look into publishing the application using W2K8 TS Remote Apps or using third party software like 2X on W2K3 to just publish the app, at it's native resolution.

  • We have experimented a bit with RemoteApp, and it does work well, but we've never seen it scale an application up relative to the local display size. You're suggesting that we could serve it as a RemoteApp with some kind of custom scaling enabled in the .rdp file? – Skyhawk Apr 22 '10 at 1:14
  • Actually I was suggesting to deliver it as a remote app at it's 800x600 resolution. That way the user can keep their local resolution at whatever they want and the only application running at 800x600 is the remote app, in the hopes that running it as a remote app makes it so that the text is not too small. Alternately, if you use W2K8 remote apps you can experiment with adjusting the display size of the remote app from the client side. You do this the same way you would adjust the display resolution for a TS desktop session, from the properties of the RDp file for the remote app. – joeqwerty Apr 22 '10 at 1:43
  • I would love to know more about how this might work. So far as I know, smart-sizing will only scale down, but I would love to be proven wrong! – Skyhawk Apr 28 '10 at 2:03
  • None of the answers solved my problem, but with the bounty expiring I will select this one. The Windows XP Mode suggestion is the only one that is workable, although it applies only to the small percentage of our users who have Windows 7. – Skyhawk May 5 '10 at 1:45

Something doesn't add up. What kind of monitors were they using before? Traditionally, the "ideal resolution" for older CRTs kept resolutions near 100 dpi, which is also what most desktop LCDs use for native resolution. The app shouldn't be significantly smaller, just take up less desktop space on the larger monitor.

Now, if your users were running 17" or 19" CRTs at 800x600, then that's a different story.

That said, have you tried simply using Win 7's high-dpi support? My understanding of it is that it will scale older apps that aren't high-dpi aware fairly well. It won't be perfect, but it shouldn't be worse than running an LCD at non-native resolution.

Alternatively, you could try to find monitors with a lower overall dpi for your users. 22" 1680x1050 or 19" 1280x1024 monitors will give a bit of a boost.

  • Running Win7 at native resolution but with 150% scaling enabled isn't much different from running at 800x600, from the user's perspective. It scales up Office 2007 apps just like it scales the old one. We need an application-specific solution. – Skyhawk Apr 22 '10 at 12:36
  • Most of the old monitors were 17" CRTs, also set to 800x600. Assuming 15" viewable, that gets us about 66 dpi on the old displays. – Skyhawk Apr 22 '10 at 12:40
  • Urgh... That's a bad place to be in. Maybe there's some obscure setting in the Application Compatibility Toolkit you can take advantage of? – afrazier Apr 22 '10 at 15:29
  • Sure doesn't look like it. Maybe some sort of a virtualization layer is the only way... – Skyhawk Apr 28 '10 at 2:03
  • 1
    Buy Fresnel Lenses for users that need them? I'm only half joking - see here. That's a random Google hit, not an endorsement or recommendation of any kind. – afrazier Apr 28 '10 at 3:07

Set up a windows Terminal Server where the screen DPI (font size) setting is turned way up, and install the application on there. Then have the users (with their normal DPI screens) run the app remotely.

  • Testing this now. – Skyhawk May 5 '10 at 1:25
  • Using Server 2008 R2: the DPI setting has no effect on remote-login sessions, except in one edge case: it is possible to change the DPI setting locally and then "steal" the active session from the console with an RDP client logging in remotely under the same username and password. The setting has no effect if the login originates remotely, even if the account has been set to 150% dpi scaling locally and then logged out before the remote login. – Skyhawk May 5 '10 at 1:42
  • Did you try an earlier version of Windows Server? Old software sometimes requires old solutions :) – apenwarr May 5 '10 at 17:51
  • No. Server 2003 doesn't do DPI scaling, it only scales system fonts (just like Windows XP). – Skyhawk May 5 '10 at 18:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.