The backwards compatibility of new operating systems has been a constant thorn in Microsoft's side. With Vista, the compatibility problems at launch were so great it never really stood a chance of convincing cautious consumers and ultra-conservative businesses, with the result that many of them are still happily running Windows XP.
When the release candidate build of Windows 7 appeared in May 2009, Microsoft surprised almost everyone by announcing a solution: Windows XP Mode. On paper, this gives the new OS 100 per cent backwards compatibility with XP, so you can run all your old software on Windows 7. But what is it, how does it work and is it really the magic bullet it claims to be?
What exactly is Windows XP Mode?
Windows XP Mode is a full virtualised copy of Windows XP SP3, meaning Windows 7 runs the whole of XP within itself. Technically, it's a virtual machine (VM) powered by a brand-new version of the Windows Virtual PC virtualisation engine. Virtualisation may be old hat, but the novelty of XP Mode is that Microsoft is giving you a completely free extra operating system.
Normally you'd need a separate licence to install and run XP in a virtual PC. You'd also have to create the virtual machine yourself. With XP Mode, you get a pre-configured virtual hard disk (VHD) file, complete with a standard single-user licence. Installation takes only a few minutes.
What's a virtual PC?
A virtual PC is a bog-standard PC that's emulated in software. It has a virtual BIOS, a virtual graphics card, a virtual network card, a DVD drive -- everything that a real PC has, in fact. The virtual PC in effect 'borrows' your real PC's hardware, but has no direct access to the physical components -- that's all handled by the virtualisation software. You can install an OS on to this virtual PC and run it just like a separate standalone or networked PC on your 'real' Windows desktop.
Which versions of Windows 7 does it come with?
Windows XP Mode will only work in Windows 7 Professional, Ultimate and Enterprise editions. But any Windows 7 user can download the Windows Virtual PC engine and create their own virtual machines if they have the necessary licences. Vista and XP users are stuck with the old Microsoft Virtual PC 2007.
Note that XP Mode isn't included 'in the box' with Windows 7. It's two separate optional downloads -- the Virtual PC software and the XP Mode VHD file.
Are there any special hardware requirements?
XP Mode will only work on PCs with a CPU with hardware-assisted virtualisation support. That means Intel VT or AMD-V, which limits your choice dramatically -- ZDNet.com blogger Ed Bott has put together a list of Intel chips and their compatibility. Apart from that there are no major showstoppers in terms of hardware requirements, but the more memory you have the better, as the VM uses 256MB by default (you can increase this if you want, and Microsoft recommends at least 2GB of RAM). It will run on multi-core and multi-processor machines, but only one CPU or core is used for the XP Mode VM.
Can I use USB devices in XP Mode?
One of the big improvements in Windows Virtual PC over the old Virtual PC 2007 is USB support. Any USB device plugged into the host PC (that is, the Windows 7 PC) can be shared with the XP VM as long as there are drivers installed in both Windows 7 and the XP Mode VM. Devices that don't have Windows 7 drivers can be 'attached' directly to the XP VM, allowing you to install just an XP driver. You can change this behaviour for each device at any time from the Virtual PC toolbar.
What else can it do?
XP Mode has a new 'seamless' integration mode (long featured in rival virtualisation engines) that lets you run XP Mode applications direct from the Windows 7 desktop without firing up the full VM. When you install a new program in the XP VM, a shortcut to launch it appears on the Windows 7 Start menu. So for example you can have Office XP running side-by-side with Office 2007, or IE6 and IE8 running simultaneously if you wish. Virtualised apps run in special windows with a characteristic blue XP border to distinguish them from normal windows.
What about security and networking?
Because the XP Mode VM is totally isolated from the host PC, it needs its own separate anti-malware programs, which also need to be separately maintained with updates. All relevant Windows XP updates also need to be regularly downloaded and applied. If the VM's networked, it may also need a firewall.
As far as networking's concerned, you can choose how the VM uses the host PC's network adaptor(s). By default, it uses shared NAT, which means that the VM hides behind your PC's IP address and is not directly visible from external networks. Bridged mode lets the VM act like a separate PC on your network with its own virtual network adaptor and IP address (useful for VPN use), or you can set it to only talk to other VMs on the host PC. Networking can also be completely disabled.
What other limitations are there?
There's no hardware 3D acceleration available in XP Mode, so don't expect to be able to play modern 3D games. Software rendering might work for older games such as Quake, but that's about it. Also, audio support is very basic and there's no TV tuner support. CD/DVD disc burning won't work either.
Are there any alternatives?
Sun's VirtualBox is a free virtualisation engine that lets you create and run VMs. VMware Workstation and Parallels Desktop are commercial apps that do the same. You need to supply your own OS for all these alternatives, though.
So is it worth bothering with?
If you run programs that simply won't work in Windows 7, but you need or want to move to Windows 7 for other reasons, it could be an easy solution. But if you don't want to fork out for the expensive versions of Windows 7 and you have a spare XP licence kicking around, a DIY solution using one of the virtualisation engines mentioned above would work just as well. This is also the only option if your PC's CPU doesn't meet the requirements mentioned above.