Errors Activating the ALM Virtual Machines

January 10, 2014 Update: I ran some tests again today and activation is working again! Please follow the steps in the “Working with…” document and you should be able to activate the virtual machine now (if not, please let me know). The bad news is that I still don’t know what caused the activation servers to break in the first place, but I have some open mail threads with that team and I hope to learn more about how to ensure this doesn’t happen again.

Back in November, people started reporting trouble activating the operating system in the Visual Studio ALM virtual machines.

While I admittedly don’t fully understand the root cause yet, I do have some more information and suggested workarounds. If I learn more I will update this post.

The symptom:
If you follow the “Working with…” document to attempt to activate your instance of the virtual machine, you will receive the following error message.
Error code: 0xC004C032
Error description: The activation server reported that new time based activation not available.

clip_image001

Suffice to say, Windows is not activated at this point and no amount of retrying will fix the problem.

What’s happening?
After several tests, we determined that this problem seems to be impacting all Windows Server 2012 “R1” evaluation installations (which incidentally is the edition that the recent Visual Studio ALM virtual machines are built on). Since this worked prior to November, our running hypothesis is that the Windows activation servers are no longer allowing people to activate Windows Server 2012 “R1” evaluations. My speculation is that this is either “by design” since the Windows Server team is trying to encourage people to evaluate Windows Server 2012 R2, or accidentally because it stopped working and the right people haven’t noticed yet. Unfortunately I have been unable to track down the right person(s) in Microsoft to help me answer this question, but I’m still trying.

What are the implications of not being able to activate?
The good news is that you can use the virtual machines for up to ten days from when you first boot them up without ever activating. After ten days, an “Activate Windows” watermark will appear in the lower-right corner to indicate that Windows is not activated. When this happens you will be granted a one-hour grace period to use Windows before it will automatically shut down.

The other good news is that if you are using either the 2012 ALM Virtual Machine or 2013 ALM Virtual Machine, both of these VM’s have their date & time “hacked” to be disconnected from the real world (this is so that the “current sprint” data is correct for the agile planning scenarios). Because the date & time are isolated from the real world, this means that if you boot up the VM, use it for 2 hours, and save state when you are done (or shut down the host PC they are running on) then you will only have used 2 hours of your 10 day grace period.

Finally, I always recommend that you take a snapshot/checkpoint after importing the VM and prior to completing a hands-on-lab / demo script. This way you can roll back to a previous state if you want to do it again (such as in a classroom environment or if you routinely demo the product). If you use this procedure with the 2012/2013 ALM Virtual Machines then you are pretty much guaranteed that you will never burn off enough time to exceed your 10 days of evaluation.

What can I do when I use up my 10 days?
You can always restore to a fresh (unbooted) copy of the virtual machine and get another 10 days. There are a couple of ways to do this.

1) Delete the VM from Hyper-V and on disk. Then re-extract the original RAR’s and follow the steps to import the VM again.

2) Another approach is to take a snapshot/checkpoint of the VM immediately after you import it, but BEFORE you boot it up. This way you can always restore to a “fresh” copy of the VM prior to starting your 10 day grace period.

Personally I tend to go for option 2, but you should be aware that there’s a small disk I/O performance tax with using snapshots/checkpoints. The deeper your tree of snapshots/checkpoints goes, the higher this performance tax will be, although on most modern hardware 1-2 snapshots won’t make a noticeable difference.

Can’t you upgrade the Visual Studio ALM virtual machines to use R2?
Given infinite time and resources, we could. But doing so is very expensive. We currently have 3 virtual machines which utilize Windows Server 2012 “R1” and 30+ hands-on-labs / demo scripts, so all of these would need to be updated and tested. Furthermore, you cannot upgrade directly from Windows Server 2012 “R1” evaluation to Windows Server 2012 R2 evaluation; this means we would need to perform a labor-intensive migration of all of the data, settings, etc. as well as QA this against the 30+ hands-on-labs / demo scripts. We will opportunistically move to Windows Server 2012 R2 at the next opportunity, but this probably won’t be until the next major release of Visual Studio.

Sorry to folks who are impacted by this. Hopefully I can reach somebody in the Windows Server team now that end-of-year vacations are coming to a close to investigate other options. If I find any I will update this blog post as appropriate.