Thursday, December 7, 2006

Windows XP activation and virtual machines explained

Lately virtualization software became more accessible for any of us. Especially if you are a developer you may find virtualization software very helpful for testing your application in different environments with less effort. For Windows the most popular choices are VMware and Virtual PC. Even if there are many free software solutions you may find that running a virtual Windows machine is not as free as it looks (and I think that's why Microsoft affords to offer Virtual PC for free). If you read your license agreement you will find that you have to buy a new license for each Windows virtual machine (VM) you want to run. For older Windows versions you may have simply not noticed this because your serial # will work in every VM but for Windows XP the product activation comes into place. For Vista there is the possibility to have 1 host and 4 VMs with a single license but only for Vista Ultimate released under Software Assurance. Here are some common scenarios you may have run into:

  • You installed Windows XP on the VM, used the same serial # as guest and the activation worked without problems. Well, even if it looks good it's not. The fact that activation worked indicated Microsoft that you replaced your old computer with a new one. And that's not what you intended and you may run into problems updating your guest (original) system.
  • You tried to install the Windows XP copy from an old computer you are not using anymore and it didn't work. That's because most OEM copies are looked to work only on the hardware they were supplied with.
  • You have more than one license (MSDN subscriber for example) but you don't want to burn one license/VM install and activate them every time. Well, there is a solution but nobody seems to know if it's legal or not. Create a VM, install Windows and activate it then make a backup of the file. Now every time you need a new VM just copy the files from the backup and use them.
So, if you want to run your Windows VMs on a Windows guest legally you will need at least two licenses. I don't think this is fair but hey, that's the way it is.

Update: it seems that every copy of Win2003 R2 Enterprise Edition allows you to run up to four virtual machines. Good start but it will still cost you $3,999 :)
Update 2: Microsoft itself has released a free Virtual PC image download which includes Windows XP SP2. This VPC image will expire on 04/01/2007.

5 comments:

Chris said...

"For Vista there is the possibility to have 1 host and 4 VMs with a single license but only for Vista Ultimate released under Software Assurance."

I thought you can't get SA for Vista Ultimate, or can you?

Anonymous said...

"For Vista there is the possibility to have 1 host and 4 VMs with a single license but only for Vista Ultimate released under Software Assurance."
WOW. What great timing

Anonymous said...

The way I read the EULA I should be legally able to run xp as both the default install and in a virtual os as long as it is physically on the same HARDWARE.

SOFTWARE PRODUCT LICENSE

The term "COMPUTER" as used herein shall mean the
HARDWARE, if the HARDWARE is a single
computer system, or shall mean the computer system
with which the HARDWARE operates, if the
HARDWARE is a computer system component.

1. GRANT OF LICENSE.
Manufacturer grants you the following rights provided that
you comply with all terms and conditions of this EULA:

1.1 Installation and use. You may install, use, access,
display and run one copy of the SOFTWARE on
the COMPUTER. The SOFTWARE may not be used
by more than two (2) processors at any one time on the
COMPUTER, unless a higher number is
indicated on the COA.

lnacomp said...

MS must have changed the image. Internet Explorer Application Compatibility VPC Image now says:
A VPC hard disk image containing a pre-activated Windows XP SP2, and either IE6 or IE7 and the IE7 Readiness Toolkit.

This VPC image will expire on December 7, 2007.

Anonymous said...

i read there are only 2 vista versions that you are allowed to use in a virtual machine... and the host operating system must be of the same version... you cannot mix the two like have one as host and the other as guest its against the EULA