Media Center in the Vista December 2005 CTP has a time bomb

As I am sure those of you on the Windows Vista Community Technology Preview (CTP) and beta program have already noticed, the Media Center bits in the most recent Vista CTP (December 2005) contain a timebomb. That means that if you try to launch Media Center and your system time is set to January 1, 2006 or later, you will get a dialog box stating that the trial period has expired and you cannot launch Media Center.

Fortunately, we have been able to release a patch to the CTP download site that you can install and fix this issue. Unfortunately, we have not been able to post this patch to any kind of more visible location such as Windows Update because they are not ready for wide usage of Windows Update for Vista-specific patches yet.

If you do not have the patch, you can also workaround this issue by disabling the Windows Time service, setting your system clock back prior to January 1, 2006, and then launching Media Center. If you use this workaround, any features in Media Center that rely on having the system clock set correctly will not work. Most notably, you will not be able to download television guide data. Because of this, I would suggest downloading and installing the patch from the CTP download site if possible in your scenario.

Dave Fleischman posted a very good in-depth description of why this problem happened and how it was missed on the Media Center feature teams prior to shipping the December 2005 CTP. One thing I would like to add to his explanation is a bit more detail about how the source code integration from Media Center 2005 Update Rollup 2 into Media Center for Windows Vista caused the timebomb to be carried forward. He is correct in explaining that there was an integration of the final Update Rollup 2 code base into the Vista source tree, and that the timebomb was disabled in Update Rollup 2 prior to this final integration. The code for the underlying implementation for the timebomb was wrapped in an IFDEF block that was enabled or disabled at compilation time by defining a variable in the build scripts. When the code integration into the Vista source tree happened after Update Rollup 2 was complete, the code that contained the timebomb was carried forward, but since Vista is built with an entirely new set of build scripts, the build script that defined the variable that would disable the timebomb at compile time was not carried forward. The net result was that the Update Rollup 2 timebomb was enabled in the Vista version of Media Center.

Needless to say, we have augmented our processes going forward so that this will not happen again. I apologize for the inconvenience any of you have encountered due to this issue.