Article ID: 978305 - View products that this article applies to.
Expand all | Collapse all

On This Page

Symptoms

When you try to activate Windows Vista, Windows Server 2008, Windows 7, or Windows Server 2008 R2, you may receive one of the following error messages:
Code: 0xC004C003

Description: The activation server determined that the specified product key has been blocked.
Code: 0xC004E002

Description: The Software Licensing Service reported that the license store contains inconsistent data.

Cause

This issue occurs because the incorrect permissions are set on the Tokens.dat file or this file is corrupted.

Resolution

To resolve this issue, try the following methods in order.

Method 1: Set the correct permissions to the Tokens.dat file

  1. Click Start, and then type cmd in the Search box.
  2. Right-click cmd, and then click Run as Administrator.
  3. At the command prompt, type the following command depending on the operating system and then press ENTER:
    For Windows Vista or Windows Server 2008:
    icacls %windir%\serviceprofiles\networkservice\appdata\roaming\microsoft\softwarelicensing /grant "BUILTIN\Administrators:(OI)(CI)(F)" "NT AUTHORITY\SYSTEM:(OI)(CI)(F)" "NT Service\slsvc:(OI)(CI)(R,W,D)"

    The correct permissions for tokens.dat should look like this output from icacls:

    tokens.datNT AUTHORITY\SYSTEM:(I)(F)
                    BUILTIN\Administrators:(I)(F)
                    NT SERVICE\SLSVC:(I)(R,W,D)

    For Windows 7 or Windows Server 2008 R2:
    icacls %windir%\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform /grant "BUILTIN\Administrators:(OI)(CI)(F)" "NT AUTHORITY\SYSTEM:(OI)(CI)(F)" "NETWORK SERVICE:(OI)(CI)(F)"

    The correct permisions for token.dat should look like this output from icacls:

    tokens.datNT AUTHORITY\SYSTEM:(I)(F)
                    BUILTIN\Administrators:(I)(F)
                    NT AUTHORITY\NETWORK SERVICE:(I)(F)
  4. Close the Command Prompt window.
Notes
  • You must type this command from an elevated command prompt.

Method 2: Rename the Tokens.dat file

To have us rename the Tokens.dat file for you, go to the "Fix it for me" section. If you prefer to fix this problem yourself, go to the "Let me fix it myself" section.

Fix it for me



To fix this problem automatically, click the Fix it button or link. Then click Run in the File Download dialog box, and follow the steps in the Fix it wizard.


Fix this problem
Microsoft Fix it 50718


Notes
  • This wizard may be in English only. However, the automatic fix also works for other language versions of Windows.
  • If you are not on the computer that has the problem, save the Fix it solution to a flash drive or a CD and then run it on the computer that has the problem.
  • Do not run the automatic fix on the machine that does not have the problem.
  • The automatic fix will not rename the Tokens.dat file for you if tokens.bar already exists.

Then, go to the "Did this fix the problem?" section.



Let me fix it myself

  1. Click Start, and then type cmd in the Search box.
  2. Right-click cmd, and then click Run as Administrator.
  3. At the command prompt, type the following command and then press ENTER.

    For Windows Vista or for Windows Server 2008
    net stop slsvc

    For Windows 7 or for Windows Server 2008 R2
    net stop sppsvc
    Note: If you receive a message that asks whether you want to continue with this operation, type Y and then press ENTER.
  4. Type the following command and then press ENTER.

    For Windows Vista or for Windows Server 2008
    cd %windir%\serviceprofiles\networkservice\appdata\roaming\microsoft\softwarelicensing
    For Windows 7 or for Windows Server 2008 R2
    cd %windir%\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform
  5. Type the following command and then press ENTER:
    ren tokens.dat tokens.bar
  6. Type the following command and then press ENTER:

    For Windows Vista or Windows Server 2008
    net start slsvc

    For Windows 7 or Windows Server 2008 R2
    net start sppsvc
  7. Type the following command and then press ENTER:
    cd %windir% \System32
  8. Type the following command and then press ENTER:
    cscript slmgr.vbs -rilc
  9. Restart the computer two times for the changes to apply.

Did this fix the problem?

  • Check whether the problem is fixed. If the problem is fixed, you are finished with this section. If the problem is not fixed, you can contact support.
  • We would appreciate your feedback. To provide feedback or to report any issues with this solution, please leave a comment on the "Fix it for me" blog or send us an email message.

Properties

Article ID: 978305 - Last Review: September 28, 2012 - Revision: 6.0
Applies to
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Windows Vista Business
  • Windows Vista Home Basic 64-bit Edition
  • Windows Vista Home Premium 64-bit Edition
  • Windows Vista Ultimate 64-bit Edition
  • Windows Vista Business 64-bit Edition
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
Keywords: 
kbsurveynew kbexpertiseinter kbtshoot kbfixme kbmsifixme KB978305

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com