Using Key Management Services (KMS) for Vista Activation

I have been working recently on a large Vista deployment project for an Enterprise customer. An integral component of the project required the installation and configuration of Key Management Services (KMS) to activate all newly deployed Vista computers.

Typically, an Enterprise customer will choose KMS as the preferred method of activation as the number of Multiple Activation Keys (MAK) supplied as part of their Microsoft Enterprise Agreement will be substantially less than the total amount for which they are licensed – KMS is the only way to license the entire estate. Apart from this, KMS offers other additional benefits such as –

  • KMS activates operating systems on the local network, eliminating the need for individual computers to connect to Microsoft
  • KMS ensures you are within your allowed number of licenses
  • Virtual machines don’t count towards the KMS n-count

However, bear in mind that KMS requires a minimum number of physical computers in a network environment, called the activation threshold, to activate KMS client machines. The activation threshold for Windows Vista is 25 physical computers and 5 physical computers for Windows Server 2008.

KMS is a lightweight service which does not require a dedicated server and which can easily be co-hosted with other services. The KMS ‘host’ can be on physical or virtual system running Windows Server 2008, Windows Vista, or Windows Server 2003 but a KMS host running on Windows Vista can only activate Windows Vista KMS clients. KMS services are built into Windows Server 2008 but are also available as a separate download for Windows 2003.

Configuring KMS requires the installation of a KMS key on the host and subsequent activation with activating with Microsoft either by telephone or online. A KMS key can activate the Windows editions within its specific product group as well as editions in ‘lower’ product key groups (i.e., KMS keys have a hierarchical association with product key groups) – see illustration below. My customer’s EA licensed them for all products. For example, activating the KMS host with a Server Group B KMS key can activate Windows Server 2008 Standard, Enterprise and Web editions, and Windows Vista editions as KMS clients.




Initially, I installed and configured the KMS host with the Server Group B KMS key as my customer has no requirement to utilise Datacenter versions of Windows Server 2008 - activation of Server Group B, Server Group A and Vista VL was sufficient. However, although the KMS host was successfully activated using the Server Group B KMS key all subsequent attempts by Vista clients to activate with the KMS host failed with the following error -

Error code = 0xC004F014

This error is indicative of issues caused by a missing or incorrect pid.txt file which is included in the sources folder on the Vista installation media. Extensive testing confirmed that this was not the case and that all deployed clients had been imaged correctly using the correct pid.txt file.


In my case, resolution of the issue involved the following steps -

  1. Uninstall the Server Group B KMS key and replace with the Server Group C KMS key = slmgr -ipk <product key> (this will replace the existing key).
  2. Reactivate the KMS host = slmgr -ato (ensure that host has Internet access)

Once the KMS was reactivated with the Server Group C KMS key - effectively the highest level key available in the customer's Enterprise Agreement - Vista clients began to register with and activate against the KMS host. Problem solved.