So I had a bit of fun over the weekend.  I have an old HP MediaSmart sever that ran Windows Home Server (WHS) which finally took a turn for the worst and just stopped with the continuous blinking blue light on boot.  I tried a couple of things from the forums, but this was not the first time the system had frozen up on me and I was expecting its eminent demise.  I had at least been smart enough when this happened last time to move all my shares over to an external USB and was ready for when I needed to move my data to a new computer I could just unplug the USB and attach to the new server.

Last weekend I took the plunge.  Back in the day when I was a big hardware geek I probably could have built out my own server.  These days most hardware for home use is good enough, and for a home server generally most desktop OEM systems are good enough for my needs, so why go to the extra trouble and expense of piecing together a system?  I went to CostCo and picked up a nice Dell system, i5 processor running 3.0 GHz with 4 cores and 8GB of RAM on sale for $550 (Which by the way is very quiet, my USB external drives make more noise than this little machine). Plenty of power to run the Minimum requirements and just touching on the recommended configuration to support maximum users and device limits ( http://technet.microsoft.com/library/jj200132 ), plus it has a video card so I can plug a monitor in, install VMware and P2V my 2 core, 4 GB RAM laptop which mostly sits on my desk so I can check e-mail and surf the web (Makes the wife happy because she get’s the hand-me-down upgrade from her current netbook).  When I need a Windows 8 desktop I can bring it up and when I don’t I can give the resources back to the server.

Dell Inspiron 660 Desktop, Intel® Core™ i5-3330 3.0 GHz

 

Everything was going well, I unboxed the machine, plugged it in and went to install WSE over the Windows 8 OEM OS that was already there.  This is where I ran into a little thing called Unified Extensible Firmware Interface (UEFI).  As it turns out, one of the features of UEFI is that it contains a key the OEM manufacturers can embed into the BIOS.  Turns out that Microsoft’s Windows 8 requires not only a unique activation key for each PC / tablet, but requires OEM producers to insert the activation key directly in the device’s BIOS, delivering the product preinstalled with the operating system. Moreover, OEMs get the activation keys directly from Microsoft, eliminating the possibility of illegal use of OEM licenses for Windows 8.  Great for Microsoft, but for us poor home users trying to install WSE 2012 we keep getting this little message:

The product key entered does not match any of the Windows images available for installation. Enter a different product key

Which would be fine if it then prompted me for my WSE 2012 product key, but it doesn’t.  The installation just stops.

After much forum searching, I finally found the answer – embed the key in the installation media.

You can do this by placing a PID.txt file in the \sources directory of the installation media (Which means of course that installation using DVD is out, I had to image my .ISO to a bootable USB fob and make the changed there)

AFTER I had figured all of this out and finally got a clean install to the Windows 8 OEM box, I found this Fast Publish article from Microsoft which explains the issue and the resolution in detail:

http://support.microsoft.com/kb/2796988

Which of course stated my problem exactly:

This problem can occur if the supplied product key does not match the media that is being used to install Windows. The supplied product key may be in an unattended file, in the EI.CFG file, in the PID.txt file or in the firmware of the BIOS. Windows 8 OEM machines ship with the product key in the firmware, and if that product key does not match the media then you will see the error message from above.
For example: Installing a Windows Server 2012 on a Windows 8 OEM machine is likely to cause this problem.

So the solution was to drop a PID.txt with the product key specified on the USB fob that had my WSE 2012 installation: http://technet.microsoft.com/en-us/library/hh824952.aspx

But seriously, Microsoft couldn’t just skip all this hassle by having the installation prompt for a key if the BIOS key doesn’t match what the end user is trying to install?  Seems like as we go down this road the non-techies who get a hand-me-down computer and try to upgrade the OS are in for a lot of problems if the BIOS key doesn’t match the OS they want to install.  I can see a serious flaw in tying to OS to the computer without giving the end user an opportunity to enter a different key in the install UI, but then again maybe this is similar to Apple’s model of “if you want the new OS buy a new computer” and non-techies will just shell out the cash for new OEM hardware rather than dealing with the hassle of figuring out how to get the right key to work with the installation/upgrade.