I need to find a solution for developers using virtual environments with VMWare Workstation 7.
We develop in different and incompatible environments. Presently almost a week is lost when modifying a developers PC for a particular environment. We need a method for creating a virtual machine then leaving it on a server. When a developer needs a particular environment they can just grab it off of the server and launch the virtual machine.
We use MSDN Premium licensees for developers. With Microsoft Virtual PC 2007 SP1 and Windows Virtual PC I was able to build an environment, sysprep, and leave it on the server. Developers were able to grab the virtual machine and on the first boot up sysprep would run. After the next reboot the VM was ready for development.
Now with VMWare Workstation 7 and Windows XP SP3 after syspreping a message is displayed that says the hardware has changed significantly since the first activation and Windows needs to be reactivated. Calling Microsoft each time we need to use a virtual machine would be a hassle.
NOTE: All users are using the same revision of VMWare Workstation.
How can we get this method to work for VMWare Workstation 7 in a similar manner that it does for Microsoft Virtual PC and Windows Virtual PC?
I saw these two questions:
Vista VMWare Release SysPrep/Activation Best Practice?
Windows Vista activation in VMWare
They did not have a suitable answer. The traditional trial time limit is not an option. Our development cycles are significantly longer than the trial periods. Because there are a lot of changes to base VMs forcing developers to restart after a certain time period is not an option.
Our developers travel frequently and are many times without an internet connection. An ESX server is unfortunately not an option.
Does anyone have any suggestions for avoiding reactivation when moving a VM between two machines?
The way I have always done this is to activate a 'master' image, and then copy it. When VMWare first launches the copies, it asks if you (c)opied the image or (m)oved it. If you say "Moved", it does not cause reactivation. However, those machines cannot live on the same LAN segment because they have the same machine name and MAC address. So, after each machine boots once, you can shut them down and change those properties and it all works.
Don't sysprep if all you're worried about are SIDs rather than hardware changes in a VM:
http://blogs.technet.com/markrussinovich/archive/2009/11/03/3291024.aspx
is a good argument that there's no point.
I can't answer your workstation activation question, that's probably best answered on superuser.com anyway, but it does sound to me like perhaps you should look at VMWare's Lab Manager product as I think it might suit your needs more than your current situation.
Based upon your response to my question (in the comments), my next question would be, can the machines run with local only networking to avoid SID issues? Alternatively, could you create 15 base images from the sysprep image. Active the 15 images once and keep those as the master images? (i.e. one per developer?). Disk space is cheaper than time after all.
Personally, I think you are spoiling your devs by creating VM images for them. At my last place of work, I (as a developer) had to create and manage my own Virtual Machines for testing.
First question, was this originally a physical machine? And you converted to Virtual?
Or did you create a VM using a OEM License? This is the type of issues that can happen if you use any of this scenarios