Getting Your App Ready for Vista

Posted November 13th, 2006 by kyle

Microsoft has long (at least since Windows 2000, which was released 7 years ago) recommended that users not run as administrators. But most users still do, partly because most computers are configured out-of-the-box with the user as an administrator, and partly because software vendors have not done a very good job of following Microsoft’s guidelines to allow their programs to run well for non-administrators. The primary offenses are writing to locations like Program Files and HKEY_LOCAL_MACHINE in the registry, both of which are read-only for regular users. Case in point: I just bought a game for my kids last week that won’t start if run from a regular user account on XP.

To address this issue, in Windows Vista by default (with UAC, or User Account Control, enabled), even administrators don’t actually run as administrators most of the time. For Vista-aware applications (and programs that Vista recognizes as application installers), when an operation that does require administrative privileges needs to be performed, an elevation prompt is displayed, which the user must confirm before continuing (of course you have to wonder if users will quickly tire of these prompts and mindlessly click Continue or disable them altogether, but it’s probably about the best Microsoft can do since users and developers refuse to change their habits).

Microsoft also built an entire virtualization layer into Vista to minimize problems with legacy apps (file and registry access to restricted areas is transparently redirected to user-specific locations). So even though Vista is more secure, it will actually be more compatible with poorly-behaved programs than Windows XP is. I haven’t tried yet, but with the game I mentioned earlier, a non-administrator will probably be able to run it in Vista. However, virtualization doesn’t solve every problem in legacy applications, so it’s still best to for developers to properly support running with least privilege (not the least of which is to work better on Windows 2000, XP and 2003).

Vista has released to manufacturing, and it will be in the hands of users soon (starting with MSDN subscribers within days, then businesses by the end of November, and consumers and new computers by January). For you slacker developers out there, it’s time to pay the piper and get your applications ready for Vista. A couple related blogs may also be of use.

Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • BlinkList
  • blogmarks
  • digg
  • feedmelinks
  • Furl
  • LinkaGoGo
  • NewsVine
  • Reddit
  • Simpy
  • Spurl
  • YahooMyWeb