Since its inception, Microsoft has touted Windows Vista as being the most secure Windows operating system (OS) ever created. Sadly, the price for this new security is that many legacy applications simply do not work with Vista at this time. In fact, application incompatibility is the single biggest reason why many companies have chosen not to upgrade to Vista.
Many of the articles regarding the pros and cons of upgrading to Vista that I have read treat the upgrade process as an either/or situation. Most of those articles are saying that you can either upgrade to Vista or you can continue to run your legacy applications. I say you don't necessarily have to choose between one and the other. There are ways of running your legacy applications under Vista, but everything has its cost. None of these methods is a perfect solution, but the various methods do make it possible to run just about any application on Vista.
Before I explain your options, I want to quickly mention that you should do some application compatibility testing before you upgrade to Microsoft Vista. This is important, because you need to know up front which applications are going to give you problems and how to deal with those problems.
Look for updates
Most companies that publish software applications occasionally offer application updates. If you are having compatibility problems with a particular application, you might be able to find a Vista patch on the publisher's Web site. Even if such a patch does not exist today, it doesn't mean that a patch won't exist at a later time.
If you can't find a patch for a legacy application, don't be shy about contacting the application's publisher and asking when a patch will be available. The company may be able to tell you the release date for the patch or give you a workaround that allows the application to work with Vista.
Massaging the application
Sometimes, you can do a bit of massaging to get an otherwise incompatible application to run in Windows Vista. To do so, right click on the incompatible application's executable, and select the Properties command from the resulting shortcut menu. When you do, you will see the application's properties sheet. The various compatibility options are located on the properties sheet's Compatibility tab, as shown in Figure A.
The Compatibility tab, found on an application's properties sheet, contains options for making an application Vista compatible.
Unfortunately, most of these options are leftovers from Windows XP and don't do a lot to help an application that was written for Windows XP run on Vista. The majority of the options on this screen are intended to help much older applications run with Vista. These options allow you to do things like force a specific screen resolution or cause the OS to lie to the application about the Windows version that the application is running on.
The one option that will really help you to run a newer application on Vista is the Run this Program as an Administrator option. Doing so helps remove many of the security restrictions that often prevent applications from working with Vista.
In most cases, running an application as an administrator will allow the application to work with Vista, but there are a few exceptions. Furthermore, running an application as an administrator could be considered a bad practice because doing so undermines some of Vista's security. You will have to decide for yourself if less security is worth being able to run the application in Vista.
Another option for running a legacy application in Vista is to run the application within a virtual machine. Use Microsoft Virtual PC or VMware to install Windows XP within a virtual machine on a Windows Vista desktop. You could then run the legacy application within the virtual machine.
This plan actually works very well, but there are some issues. First, it takes a fairly beefy machine with lots of memory and processing power to run Windows Vista and Windows XP simultaneously. You will also have to think about the administrative burden associated with supporting two different OSes. And you may need software licenses for both OSes.
The terminal services steps up
One of the best ways to fix the application compatibility problem is to run the applications on a terminal server and use the workstation as a thin client. Of course, making the switch from a traditional client/server environment to a thin client environment is a big deal. There is a lot of work and expense involved in making the transition. You might consider a hybrid environment in which only specific applications are hosted on a terminal server, rather than hosting the entire Windows desktop on a terminal server.
Right now, the best way to accomplish this is to use 2X Application Server to publish individual applications. The majority of a user's applications will still run locally, but incompatibility applications can be hosted on the terminal server. The user has the illusion that these applications are running locally, even though the terminal server is simply sending screen updates to the user's desktop.
Windows Server 2008 (formerly Longhorn Server) is going to have this capability built in natively, but Windows Server 2008 and Windows Vista share a common core. Therefore, if an application won't run on Vista, it probably won't work with Windows Server 2008 either. You may be better off just sticking to using a Windows Server 2003-based terminal server and 2X Application Server.
Please be sure to look for part two of this series later this fall, which deals with finding a replacement application and how to deal with possible device driver issues with Vista.
About the author: Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Windows 2000 Server and IIS. He has served as CIO for a nationwide chain of hospitals and was once in charge of IT security for Fort Knox. As a freelance technical writer, he has written for Microsoft, TechTarget, CNET, ZDNet, MSD2D, Relevant Technologies and other technology companies.
This was first published in October 2007