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?

  • What's you reason for running sysprep on the virtual machine images? I've been using virtual images for years for development and testing (mainly on VMWare workstation too), and I've not once used sysprep. – Bryan Mar 4 '10 at 20:44
  • @Bryan, so that they can all live on the LAN in peace together. Essentially so that we don't have 15 virtual machines on our network concurrently with the same computer name and SIDs. – PaulWaldman Mar 4 '10 at 21:02
  • Sysprep doesn't reset SIDs (and it doesn't need to): blogs.technet.com/b/markrussinovich/archive/2009/11/03/… Pulling the computer off the AD domain, if you have one, should be totally sufficient. – jgoldschrafe Oct 12 '11 at 18:53

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.

  • Stabledog, do you know why there would be a difference between VMWare Workstation changing those properties and manually changing them after booting once? My understanding that Windows activation works by monitoring total hardware changes since the first time the machine was first activated. – PaulWaldman Mar 5 '10 at 15:12
  • Sorry, dunno. And one thing my solution doesn't solve in your case is that the machines all still have the same SID when you're done. Since you've stated that they need to be distinct, this wouldn't work for you anyway. I suspect that if you zap SIDs after activation, you'll have to reactivate. – Stabledog Mar 5 '10 at 22:06

Don't sysprep if all you're worried about are SIDs rather than hardware changes in a VM:


is a good argument that there's no point.

  • Xenny, thanks for the link. It was interesting. The second to last paragraph states why we really need to sysprep. Much of the distributed software we use (developed by a 3rd party) does rely on SIDs to uniquely identify machines. – PaulWaldman Mar 5 '10 at 15:14
  • In that case, I think you may have to move away from MSDN licences, to a KMS :-(, which will add costs. – xenny Mar 5 '10 at 16:19

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.

  • Bryan, we have two difficulties 1. much of the software we use is distributed and needs to have a virtual network adapter exposed to the LAN. 2. If each developer needed their own master machine we would not be able to share machines between developers and subsequently have many permutations of machines. our goal is minimize the amount of time developers spend creating virtual machines. It is not to say developers will not have to create virtual machines, but if someone else already built a similar machine that could be used by others. – PaulWaldman Mar 5 '10 at 15:09
  • Also disk space is not a limiting factor, more manageability. – PaulWaldman Mar 5 '10 at 15:10

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.