As you know, Microsoft has put a great deal of effort into making sure that Windows 7 is extremely compatible with new and existing hardware and software. The most evident piece of this compatibility push was Microsoft's establishment of the Windows Ecosystem Readiness Program, which was officially announced in February 2009 and designed to help Independent Hardware Vendors (IHVs), Original Equipment Manufacturers (OEMs), developers, Independent Software Vendors (ISVs), and Original Device Manufacturers (ODMs) ensure that their products were compatible with Windows 7 by providing them with access to all kinds of resources.
(You can read more about the Windows Ecosystem Readiness Program along with an interview with Mike Nash, who is the Corporate Vice President of Windows Product Management, in an article on the Microsoft PressPass site.)
Another big piece of Microsoft's compatibility push was the inclusion of Windows XP Mode in Windows 7. Being able to download and install a free version of Windows XP SP3 to run virtually inside of Windows 7 to allow people and organizations to be able to make the move to Windows 7 and still be able to use older applications designed specifically for Windows XP is definitely a big step in the right direction.
However, there is another big feature built in to Microsoft Windows 7 that is designed to enhance compatibility but doesn't seem to get as much of the fanfare as the others — the Program Compatibility Assistant. This tool is designed to automatically run when it detects an older program that is encountering compatibility problems. (You cannot run the Program Compatibility Assistant manually.) When the Program Compatibility Assistant does run, it will either configure the compatibility settings to allow the program to run in Windows 7 or block the program from running if it determines that the compatibility issues are serious. The Program Compatibility Assistant will then provide you with the option to check online for possible solutions.
In this edition of the Windows Desktop Report, I'm going to take a closer look at the Program Compatibility Assistant.
This blog post is also available in PDF format in a TechRepublic download.
The Program Compatibility Assistant in actionAs I mentioned, the Program Compatibility Assistant is designed to automatically run when it detects an older program that is encountering compatibility problems. For example, you may encounter an error message like the one shown in Figure A while attempting to install your application in Windows 7.
You may encounter a similar error message when attempting to install an old application in Windows 7.As soon as you click OK, the Program Compatibility Assistant will appear, as shown in Figure B, and prompt you to reinstall using the settings that it determines will work best.
The Program Compatibility Assistant will take over the installation procedure and automatically implement the appropriate compatibility settings.In the case of my example installation, the Program Compatibility Assistant determined that the Setup.exe program was looking for Windows XP SP2 and configured the Compatibility settings, as shown in Figure C.
If you check the Compatibility tab on the program's properties dialog box, you'll see the configured Compatibility settings.
If the Program Compatibility Assistant determines that the compatibility issues are serious, it will block the program from running and then provide you with the option to check online for possible solutions. For example, a misinformed friend of a friend attempted to install the Microsoft Virtual PC 2007 program in Windows 7, before he understood that it required Windows Virtual PC. While recounting the episode, he mentioned seeing the Program Compatibility Assistant.Since I still have a copy of Microsoft Virtual PC 2007, I attempted to install in Windows 7 as an example. As you can see in Figure D, the Program Compatibility Assistant did indeed block it due to compatibility issues. It also provided a way to check for solutions online.
The Program Compatibility Assistant blocked the Microsoft Virtual PC 2007 installation procedure due to compatibility issues.When I clicked OK, the Program Compatibility Assistant began searching for a solution and then the Action Center appeared and provided a link to the Microsoft Web site, as shown in Figure E.
The Program Compatibility Assistant relies on the Action Center to display the solution.Following the link from the Action Center took me to the Microsoft Virtual PC 2007 SP1 page on the Download Center, as shown in Figure F. Since I already have Windows Virtual PC up and running, I didn't follow through with this download; however, from this example you can see how the Program Compatibility Assistant is designed to assist you in finding solutions to compatibility issues in Windows 7.
A potential solution is found.
Old School Software
While researching the Program Compatibility Assistant, I decided to attempt to really put the Program Compatibility Assistant to the test. I dug deep into my old software cabinet and pulled out a copy of the Microsoft Entertainment Pack 3, which was designed for Windows 3.x and released in 1991. It was on a single 1.44MB disk, which I copied to the hard disk on my Windows 7 system. I then double-clicked Setup.exe, dealt with the obligatory UAC, and then immediately encountered the Setup dialog box, which prompted me to install the program in the C:\WEP folder. Thinking that the Program Compatibility Assistant would pop up momentarily, I clicked OK. Instead, I encountered a Setup Is Complete! message.
I then discovered shortcuts to the package's seven games on the Start menu. I figured that maybe the Program Compatibility Assistant would pop up when I attempted to run one of the games. However, to my surprise each and every one of the games functioned perfectly and worked just like I remembered them. The Help system in each game even worked fine.Wow, talk about built-in compatibility support! Windows 7 is able to run a piece of Windows 3.x software right out of the box. Figure G shows the TriPeaks card game running in Windows 7.
Here's the Microsoft Entertainment Pack 3 TriPeaks card game running in Windows 7.
What's your take?
Do you have old software that you want to run in Windows 7? Will you try to install it now that you know about the Program Compatibility Assistant? Have you attempted to install older software in Windows 7 and encountered the Program Compatibility Assistant? If so, what has been your experience? As always, if you have comments or information to share about this topic, please take a moment to drop by the TechRepublic Community Forums and let us hear from you.
Greg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry.