Running Windows 7 applications: Using Windows Virtual PC, XP Mode

This chapter excerpt offers information on how the Windows Virtual PC and XP Mode features can help Windows 7 applications to run smoothly.

Solutions provider takeaway: Find out how you can use the Windows Virtual PC and XP Mode features to run Windows 7 applications in a virtualized environment.

Windows Virtual PC and XP Mode

When all else fails, a new Windows 7 feature can come to the rescue. Actually, there are two features involved:

  • Windows Virtual PC is a software solution that provides a virtual machine environment in which guest operating systems, with their own applications and services, can run separately and independently from the host environment, or physical PC.
  • XP Mode provides a virtual version of Windows XP in which you can configure virtualized, XP-based applications to run side by side with native Windows 7 applications. This effect is shown in Figure 3-11.

Figure 3-11: It's crazy but it's true: Windows XP and Windows 7 applications can now run side by side.

Secret: Windows Virtual PC is free for all Windows 7 users, but Windows XP Mode is a perk of the Professional, Enterprise, and Ultimate versions of the operating system. You can download both from

The next sections take a look at both of these new Windows 7 components.

Tip: Windows Virtual PC is the latest version of Microsoft's venerable Virtual PC product line. Previously, this environment was made available as a standalone application to users of various Windows versions. With Windows Virtual PC, however, this product is now a Windows 7 feature. And though it doesn't ship on the disc with Windows 7, it can only be installed on Windows 7.

Understanding Windows Virtual PC

To the operating system and applications running in a virtual environment like Windows Virtual PC, the virtual machine appears to be a real PC, with its own hardware resources and attributes. These virtualized systems have no knowledge or understanding of the host machine at all.

Though virtual machines cannot rival the performance of real PCs for interactive use—they're useless for graphically challenging activities such as modern, action-oriented games, for example—they are perfect for many uses. In fact, virtual machines are often used to test software in different environments, or test Web sites and Web applications with different browser versions.

Looking for a way to play old DOS-based games under Windows 7? Forget Windows Virtual PC. Instead, check out DOSBox. It's awesome, and if you're looking for a Duke Nukem fix this is the place to be (see

In Windows 7, the Windows Virtual PC virtualized environment—shown in Figure 3-12—plays a special role. Because new versions of Windows are often incompatible with legacy applications, a virtual machine environment running an older version of Windows and those incompatible legacy applications can be quite valuable. Best of all, in such cases, users are often less apt to notice any performance issue because older operating systems tend to require fewer resources anyway.

Figure 3-12: Here, you can see Windows XP running inside Windows Virtual PC on top of Windows 7.

That said, for the best results, anyone utilizing Virtual PC to run an older operating system such as Windows XP along with whatever set of Windows 7–incompatible applications is well served to pack the host PC with as much RAM as physically possible. For typical PCs today, that means loading up with 4GB. Remember: you're running two operating systems and any number of applications simultaneously. That old Pentium 3 with 256MB of RAM just isn't going to cut it.

Secret: Windows Virtual PC is available in separate 32-bit and 64-bit versions. Make sure you download the correct version for your PC.

Secret: Windows Virtual PC has specific hardware requirements, and thanks to the vagaries of microprocessor marketing, your PC may not be up to snuff. The only important consideration, indeed, is the microprocessor: in order to run Windows Virtual PC (and, thus, XP Mode as well), you need a microprocessor that supports hardware-assisted virtualization. And you must be able to enable this functionality in the PC's BIOS. If you don't have such support, you'll see the error message shown in Figure 3-13 when you try to install Windows Virtual PC.

Figure 3-13: Windows Virtual PC has very specific hardware requirements and won't work on all PCs.

This technology goes by different names depending on which microprocessor vendor you're talking about. With Intel, it's called Virtualization Technology (Intel VT). And with AMD it's simply called AMD Virtualization (AMD-V). The vast majority of modern (for example, 64-bit and multicore) AMD processors include AMD-V, so you're generally in good shape if you're running a PC with an AMD processor. But in the Intel world, you have some work ahead of you.

Let's get the simple part out of the way first. If your PC utilizes an Intel i7 or i7 Extreme processor, you're all set. All of these products include the necessary hardware support. For the remainder of Intel's modern CPU lineup, however, you can refer to Tables 3-1 and 3-2.

Table 3-1: Intel Desktop Microprocessor Support for Hardware-Assisted Virtualization

Intel Microprocessor Supports Hardware-Assisted Virtualization
Core 2 Duo E6300, 6320, 6400, 6420, 6540, and 6550 Yes
Core 2 Duo E6600, 6700, 6750, and 6850 Yes
Core 2 Duo E7200, 7300, 7400, and 7500 No
Core 2 Duo E8190 No
Core 2 Quad Q6600 and 6700 Yes
Core 2 Quad Q8200, 8200S, 8300, 8400, and 8400S No
Core 2 Quad Q9300, 9400, and 9400S Yes
Core 2 Quad Q9450, 9550, 9550S, and 9650 Yes
Pentium D Pentium EE 805, 820, 830, and 840 No
Pentium D Pentium EE 915, 925, 935, and 945 No
Pentium D Pentium EE 920, 930, 940, 950, and 960 Yes
Pentium D Pentium EE 955 and 965 No
Pentium for Desktop E2140, 2160, 2180, 2200, and 2220 No
Pentium for Desktop E5200, 5300, and 5400 No

Table 3-2: Intel Mobile Microprocessor Support for Hardware-Assisted Virtualization

Intel Microprocessor Supports Hardware-Assisted Virtualization
Core 2 Duo Mobile L7200, 7300, 7400, and 7500 Yes
Core 2 Duo Mobile P7350, and 7450 No
Core 2 Duo Mobile P7370 Yes
Core 2 Duo Mobile P8400, 8600, 8700, 9500, and 9600 Yes
Core 2 Duo Mobile SL9300, 9400, and 9600 Yes
Core 2 Duo Mobile SP9300, 9400, and 9600 Yes
Core 2 Duo Mobile SU9300, 9400, and 9600 Yes
Core 2 Duo Mobile T5200, 5250, 5270, 5300, 5450, and 5470 No
Core 2 Duo Mobile T5500, and 5600 Yes
Core 2 Duo Mobile T5550, 5670, 5750, 5800, 5850, 5870, and 5900 No
Core 2 Duo Mobile T6400, and 6570 No
Core 2 Duo Mobile T7100, 7200, 7250, 7300, and 7400 Yes
Core 2 Duo Mobile T7500, 7600, 7700, and 7800 Yes
Core 2 Duo Mobile T8100, and 8300 Yes
Core 2 Duo Mobile T9300, 9400, 9500, 9550, 9600, and 9800 Yes
Core 2 Duo Mobile U7500 and U7600 Yes
Core 2 Extreme Mobile QX9300 Yes
Core 2 Extreme Mobile X7800 and 7900 Yes
Core 2 Extreme Mobile X9000 and 9100 Yes
Core 2 Quad Mobile Q9000 Yes
Core 2 Quad Mobile Q9100 No
Core 2 Solo SU3300 and 3500 Yes
Core 2 Solo U2100 and 2200 Yes
Core Duo L2300, 2400, and 2500 Yes
Core Duo T2050 and 2250 No
Core Duo T2300E, 2350, and 2450 No
Core Duo U2400 and 2500 Yes
Core Solo T1300 and 1400 Yes
Core Solo T1350 No
Core Solo U1300, 1400, and 1500 Yes

If the PC you're using does not include a microprocessor that supports hardware-assisted virtualization, you have two options: you can use a different PC, of course. Or you could use a competing virtualization solution that doesn't include such a limitation. (Note, however, that no competing virtualization products include a free copy of Windows XP.) We favor VMWare Workstation ( but if you would like a free solution, check out VirtualBox ( instead.

Secret: The previous tables were current when this book was written, but of course AMD, Intel, and other microprocessor makers are always updating their product lines. So be sure to check this book's Web site,, for the latest processor compatibility tables.

Secret: If your PC's processor has hardware-assisted virtualization support but you failed to enable it in the BIOS, you will see the dialog shown in Figure 3-14 when you attempt to install XP Mode or another OS in a virtual machine. That means you have to reboot, enable the feature in the BIOS, boot into Windows again, and then rerun Windows XP Mode Setup. So get this set up first.

Figure 3-14: Enable hardware-assisted virtualization before running XP Mode Setup or configuring any other virtual machines.

You manage Windows Virtual PC from a very simple Virtual Machines explorer, rather than from the console application window that accompanied previous versions. Shown in Figure 3-15, this window provides a toolbar button from which you can create a new virtual machine.

The Create a virtual machine wizard (see Figure 3-16) can create new virtual environments using an existing virtual disk, or, more likely, by creating a new one from scratch. In the latter case, you install a new operating system just as you would normally, using the original setup CD or DVD, or an ISO image, which can be "mounted" so that it works like a physical disk from within the virtual environment.

After determining the name of the virtual machine, how much RAM it will use, and the location of the virtual hard disk, it's time to install an operating system. You're welcome to install virtually any modern, 32-bit version of Windows, but Windows Virtual PC natively supports Windows 7, Windows Vista with SP1 or higher and Windows XP with SP3 in a special way: in these environments, you can install integration components that take guest-to-host integration to the next level.

Figure 3-15: Console be gone: Windows Virtual PC is managed from a simple explorer.

Figure 3-16: Virtual PC's Create a virtual machine wizard helps you determine the makeup of the virtualized environment.

Secret: Though Windows Virtual PC is available in a 64-bit version, the product supports only 32-bit guest operating systems.

Noticeably absent from this list, incidentally, is any form of Linux. You can, in fact, try to install various Linux distributions in Windows Virtual PC, but this install type has some limitations, chief among them a lack of integration with the host environment that supported guest operating systems receive. That said, many modern Linux distributions don't work correctly in Windows Virtual PC unless you are capable of some serious tinkering. In this case, Google is your friend.

Secret: While Windows Virtual PC supports both Windows Vista and Windows 7, the emulated graphics subsystem utilized by this environment is not powerful enough to render the operating systems' Windows Aero user interface. Therefore, if you choose to run Windows Vista or 7 in a virtual machine, you have to make do with the Windows Basic user experience.

To manage any virtual machine environment you've created, just select it in the Virtual Machines explorer and click the Settings button that appears. The resulting Settings window (see Figure 3-17) lets you configure individual VM settings, including the RAM, virtual hard disk(s), and other devices associated with the VM.

In use, virtual machines are like slower versions of "real" PC installs. You can continue running guest operating systems in a Windows Virtual PC window side by side with the host Windows 7 system, or you can run the guest OS full-screen, making it appear as if your modern Windows 7–based PC has gone back in time. Windows Virtual PC supports a variety of niceties for moving information back and forth between the host and guest operating systems, including cut-and-paste integration and the notion of a shared folder that exists in both systems so you can move files back and forth.

But what really makes Windows Virtual PC special is that those integration components allow compatible operating systems to publish their applications into the host PC environment. That way, you don't have to launch and manage a second PC desktop. Instead, you can simply use the application(s) that caused you to install Windows Virtual PC in the first place.

Figure 3-17: Individual virtual machines are managed with a single window too.

Taking It to the Next Level: Windows XP Mode

For users of Windows 7 Professional, Enterprise, and Ultimate, Microsoft provides a freely downloadable, prepackaged, and fully licensed copy of Windows XP with SP3 as a perk. Called Windows XP Mode, this feature allows you to run XP applications side by side with Windows 7 applications using Windows Virtual PC. Yeah, it really is that cool.

When you download and install Windows XP Mode and run it for the first time, you are prompted to provide a non-optional password for the default user account in Windows XP, which is imaginatively titled User (see Figure 3-18).

Figure 3-18: You must create a password, but the Remember credentials option is even more important.

The more important option is Remember credentials (recommended). We, too, recommend that you select this option, as the point of XP Mode is that you can seamlessly run XP applications side-by-side with Windows 7 apps. If you do not allow the system to remember your logon credentials (for example, your user name and password), you will be prompted to provide them every time you run an XP application.

You're also prompted to configure Automatic Updates, as shown in Figure 3-19. Again, you should do so, as you want the underlying XP system to take care of itself. After initial configuration, you should be able to forget it even exists for the most part.

Figure 3-19: Make sure you enable Automatic Updates.

After this, you will have to wait quite a while as Windows Virtual PC steps through the process of starting the virtual machine, setting up Windows XP Mode for first use, starting the OS, and enabling integration features. What's happening behind the scenes is that Windows Virtual PC is actually moving through the post-Setup steps, creating the user and configuring the Automatic Updates setting you previously defined. When it's ready, the familiar Windows XP Desktop will appear in a window on top of your Windows 7 Desktop, as shown in Figure 3-20.

Of course, running a virtual environment inside of a host OS like Windows 7 isn't the end goal here. The reason you're running Windows XP virtually in the first place is that you want access to that system's larger (and older) software library. From here on out, any application you install under Windows XP will actually appear in the Windows 7 Start menu, as shown in Figure 3-21.

In this way, XP Mode is publishing installed applications to Windows 7. And when you run these apps from the Windows 7 Start menu, naturally, they run side-by-side with native Windows 7 applications, share the same clipboard and file system with the host environment, and so on. And really, that's the point: XP Mode isn't about running Windows XP. It's about getting incompatible applications to work properly again.

Figure 3-20: Ah, the good ol' days.

Figure 3-21: When you install applications in the virtual Windows XP environment, they also appear in the Windows 7 Start menu, so you can run them from there.

Secret: It's not obvious, but this ability to run virtual applications inside of Windows 7 is not limited to Windows XP Mode. Nor is it limited to virtualized instances of Windows XP. You can do the same thing with virtualized Windows Vista and Windows 7 applications, too.

Secret: Publishing applications is nice, but what about XP's built-in apps, like Internet Explorer 6? You can manually publish built-in Windows XP apps using the following workaround: launch Windows XP Mode, right-click the XP Start menu, and choose Open All Users. In the Explorer window that appears, navigate into the Programs folder. Now, drag a shortcut for the application you'd like to run into the Programs folder. Close it, close XP Mode, and check the Windows 7 Start menu: success!

Looking to the Future

As it stands today, Windows Virtual PC is an interesting and, in many cases, desirable solution, especially with Windows XP Mode. But the underlying technology is still based on the legacy Virtual PC code and not on newer, hypervisor-based virtualization solutions like Hyper-V, part of the Windows Server 2008 product line. This technology runs closer to the metal than Windows Virtual PC, so it offers much better performance and is more secure and easily maintainable. Despite utilizing a different architecture, however, Hyper-V is compatible with the same VHDs used by Windows Virtual PC, ensuring that customers who adopted Microsoft's virtualization products early in the game could move their virtualized environments forward.

Microsoft also offers more managed application virtualization products, which today are, of course, geared toward larger companies. Microsoft purchased a company called SoftGrid and relaunched its application virtualization solution as Microsoft Application Virtualization, or App-V. This software enables Microsoft customers to stream applications to the desktop in special virtualized packages. Instead of delivering an entire virtualized environment to end users, companies can deliver individual applications in a package, along with any required dependent files. These packages break the application/operating system lock and allow for some interesting scenarios, including the ability to run multiple versions of the same application on a single OS.

Then, in 2007, Microsoft purchased another innovative company in the virtualization space, Kidaro. This acquisition gave Microsoft the final piece of the puzzle: the ability to combine the power of Virtual PC with the application independence of SoftGrid. The resulting product, Microsoft Enterprise Desktop Virtualization (MED-V), is basically a server-based version of XP Mode.

Looking ahead, it seems like future versions of Windows will include a virtualization solution based on Hyper-V and some combination of the SoftGrid and Kidaro technologies. This would expand on the work done in Windows 7 but provide additional performance and manageability benefits. Then, in these future Windows versions, Microsoft will be able to move in completely new technical directions, secure in the knowledge that its virtualization platform will enable users to install virtually (sorry) any application that works on older versions of Windows. The key is packaging them into mini-virtualized environments that include only those parts of Windows XP, Windows 98, or whatever they need in order to run.

Windows Virtual PC and Windows XP Mode are just one step down this road. They are an important step, of course.


Windows 7 constitutes, in many ways, a break with the past, but that doesn't necessarily mean you have to make a break with your existing hardware or software just yet. Using Microsoft's Windows 7 Upgrade Advisor, you can determine whether your current PC is powerful enough to run Windows 7 and, if so, which of your existing hardware devices and software applications will work properly after the upgrade. After installing Windows 7, however, you're not on your own. Features such as the Program Compatibility Wizard and the Program Compatibility Assistant can force older Windows applications to run fine in Windows 7. If that doesn't work, there are always virtualization solutions, including Microsoft's free Windows Virtual PC and the seamless Windows XP Mode environment. Chances are good there's a way to make your existing devices and applications work with Windows 7. You just need to know where to turn.

Hardware and Software Compatibility
  Windows 7 Upgrade Advisor: Hardware, software compatibility
  Windows 7 compatibility: Solving Hardware, software issues 
  Running Windows 7 applications: Using Windows Virtual PC, XP Mode

Printed with permission from Wiley Publishing Inc. Copyright 2009. Windows 7 Secrets by Paul Thurrott and Rafael Rivera. For more information about this title and other similar books, please visit Wiley Publishing Inc.

Dig Deeper on Desktop management, sales and installation