When Windows XP was introduced in 2001, there were (as far as I know) no explicit provisions in its licensing agreement that covered how the operating system (OS) could be used in a virtual machine (VM). In the time since XP was rolled out, however, virtual machines have gone from being exotica to almost commonplace. To that end, Microsoft decided it was also high time to add provisions into the EULA (end-user licensing agreement) for the next version of Windows -- namely, Windows Vista -- that would explicitly address how the OS could be used in virtual machines.
The resulting license restrictions have confused a great many people, largely because they seem to blatantly contradict each other in various ways! Fortunately, ZDNet's Ed Bott was one of the few people to step up to the plate, talk with Microsoft directly (through Director Scott Woodgate) and get a number of answers about how Vista's licensing deals with virtualization. I owe Bott a massive debt for his hard work, which helped me put together this tip.
Because the whole issue is a little tangled, it's hard to say where to start, so I will begin from the bottom of the Vista SKU lineup and work my way upwards.
Vista Home: Don't virtualize
Let's start with Vista Home. If you buy retail or OEM copies of Windows Vista Home—either Home Basic or Home Premium—the licensing agreements don't allow them to be run inside virtual machines, period. From what I can tell there is nothing within the OS's setup routines that will explicitly prohibit this from happening—it's just not allowed within the terms of the license.
Why do this? The restriction is probably because Vista Home's price point is not intended to encompass a feature like virtualization. In other words, it's been deliberately omitted for the same reason as many of the more advanced Vista features, like the full-system backup and restore feature that's only available in the Business or Ultimate SKUs.
There is, however, a broad exception to this rule—which I'll cover later in this article, because it deserves its own specific discussion.
Vista Business / Vista Ultimate
Both Vista Business and Vista Ultimate, in both their retail and OEM versions, can be run in virtual machines. However, there are restrictions.
- Each distinct copy of Vista that is run in a VM must have its own license. A virtual-machine installation is treated as a separate device, which in turn requires a separate license.
- Virtual machines cannot be copied. You can move a virtual machine to another PC, but you cannot duplicate a VM to another machine.
- OEM copies of Vista that are run in VMs cannot be copied or moved to another machine. They are licensed only to run on the same physical device as the host OS, as per the general restrictions for OEM copies of Windows.
This last restriction about OEM copies of Vista is one of the blurrier provisions in the licensing. One would think that a VM itself counts as a device, but evidently Microsoft doesn't see it that way: the "device" that the OEM copy is licensed to is the host PC and not a virtual machine.
Vista and MSDN
If all of the above sounds a bit bleak, there is one perfectly legitimate way you can get around many of these restrictions. You'll notice that this whole time I've been emphasizing that these restrictions are for retail and OEM copies of Vista. But what about copies of Vista that you've obtained through an MSDN subscription?
This is where things get interesting, because MSDN subscribers have a great deal more freedom with Vista in VMs—more freedom than just about anyone else. Here's what you can do with Vista if you have an MSDN subscription:
- All editions of Vista that you can obtain through MSDN—from Home up through Ultimate—can be installed in a virtual machine.
- You can move or copy VMs created with the MSDN editions of Vista to other machines.
- However, you're only allowed to use the VMs in question for internal testing and development, as per the MSDN licensing agreement itself.
The last provison falls in line with how MSDN editions of an operating system can't be used to build a system for retail sale or public use. You can't host a publicly-accessible Web server with an MSDN copy of Windows Server 2003, so you should only be able to use VMs made from MSDN licenses for internal use as well.
The way Vista licensing works for VMs should make it clear what's to be done if you need to work aggressively with Vista in virtualization: get an MSDN subscription and use that, as long as the virtual machines in question are being used for testing and development and are not production systems. Each subscription will give you up to ten Vista machine activation licenses to work with, and you won't have to worry about violating some provision of the agreement. You can then purchase full licenses for Vista seats once you've determined how suitable they are outside of testing.