Windows 7 and Windows Server 2008 R2, similar to Windows Vista and Windows Server 2008, requires user to perform activation in order to activate the Windows operating system to be used without interruption. Activation of Windows 7 and Windows Server 2008 R2, except for users who bought branded OEM computer or activate via KMS host, is normally performed online to validate against Microsoft’s activation server, or via phone activation.

One inconvenience brought by activation is that Microsoft limits and restricts the number of time that online activation can be done. Anything more than that will require user to call Microsoft activation hotline to go through manual hectic process to activate via phone.

Besides, not many people will like to “contact” Microsoft every time after reinstalling or reformating the PC or computer for a fresh and clean start. So it would be great if the “activated” activation status of Windows OS can be preserved, or backed up and restored after re-installation so that Windows 7 and Windows Server 2008 R2 can be activated offline or without connecting to Microsoft’s activation server.

Try the following trick to backup activation files for Windows 7 or Windows Server 2008 R2, which has been previously been activated, prior to reinstallation. Note that the workaround should only be tried by users who want to clean install Windows, as if user (i.e. want to upgrade to bigger hard disk) makes a clone image of physical hard disk with Norton Ghost or Acronis True Image, all application programs, data, resources together with activation status will be automatically preserved.

  1. Copy and save or backup the following activation-related files to external storage medium such as USB flash drive or portable hard disk drive:




    Note: For 64-bit (x64) OS, %SystemDrive%\Windows\SysWOW64\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms have to be backed up too.

  2. Retrieve and record the product key used to install and activate the current Windows 7 or Windows Server 2008 R2.

    Tip: If you can’t remember the product key used, there is plenty of product key viewers available to help.

  3. Reinstall Windows 7 or Windows Server 2008 R2. When installation wizard prompts for a product key for activation, leave it blank (do not enter anything).
  4. In the newly installed Windows operating system, stop the Software Protection Service in Services.msc or with the following command (run in elevated command prompt):

    net stop sppsvc

  5. Navigate to the following folder:


    Note: In 64-bit (x64) operating system, also perform the action in %SystemDrive%\Windows\SysWOW64\spp\tokens\pkeyconfig\ folder.

  6. Take ownership and give user full control permissions (alternatively add grant full control right click menu item) to pkeyconfig.xrm-ms file.
  7. Delete the original default pkeyconfig.xrm-ms file, and replace with the backup copy.
  8. Navigate to the following folder:


  9. Take ownership and give user full control permissions (alternatively add grant full control right click menu item) to tokens.dat file.
  10. Delete the original default tokens.dat file, and replace with the backup copy.
  11. Restart the Software Protection Service in Services.msc or with the following command (run in elevated command prompt):

    net start sppsvc

  12. Register the product key for Windows 7 or Windows Server 2008 R2 with the following command (run in elevated command prompt):

    slmgr.vbs -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

    Replace xxxxx-xxxxx-xxxxx-xxxxx-xxxxx with the actual product key.

  13. Windows will activated instantly, off-line. To check activation status, uses of of the following commands:

    slmgr.vbs -dlv
    slmgr.vbs -dli
    slmgr.vbs -ato

Note that the ability to backup and restore old activation status in order to pre-activate or ready-activate a machine after re-installation must be on the same hardware without any hardware change, else user will need to activate online again. Besides, the product key used must be the same serial code too. The hack also does not apply to OEM branded computer which has Windows pre-activated and KMS host activated Windows system.

Users who want an automated tools to preserve the activated status by backing up and restore the activation information can also try Win7/Srv 08 R2 Activation Info Backup Tools posted on My Digital Life Forums.

Related Posts

  • Linda

    It works, even in 2014! Thanks.

  • Kosta

    for me it worked only with internet connection enabled. I’ve turned it on after 12th, then slmgr.vbs -ato, and checked with slmgr.vbs -dlv. Anyway, you made my day, thank you so much!

    h/w: samsung R530
    s/w: w7 x86 home premium

  • Paul T

    64 to 32 worked fine

  • Paul T

    Easy as Pie with a Multiboot

  • luser

    Can you move these tokens from a 32 bit install to a 64 bit install, or the other way around?

  • radiking

    thanks for the great info its saved me from getting my keys blocked by activating again and again!!!!!

  • Gareth

    These steps work.

  • Shafieh

    I did what you suggested and it works. I mean that after windows installation I could run the License again but it doesn’t update now. what should I do ? Can you give me a solution?

  • nas

    Tried it, doesn’t work.

    Still says “3 days until automatic activation” in the system properties, and “You must activate windows within 30 days to continue using all windows features”.

    • Gareth

      You have not completed a step correctly. I have used these steps and it works 100%

  • Core

    Has anybody tried it for MAK Host Reactivation?

  • GreenSilver

    This does NOT work. Don't waste your time. SilverGreen you must have made a mistake!

    • PISS OFF

      It does work you stupid ass. Instruction may be a bit wrong, but use your common sense to sort it out shithead

  • SIlverGreen

    This tutorial works perfectly on Sony Vaio with Windows 7 Starter 32 bit.

    Thanks a ton.

  • Bernie24

    if you activate by phone you can't reactivate

    only if the tokens.dat is activated online with windows server,than with your current key

    and tokens.dat reactivate after clean install

  • Teknik



  • June Lam

    Thank you for the article. However, since we have been looking into diaster & recovery plans for our KMS Host, the question of KMS Host Reactivation has come up. Would there be a similiar way of preserving the KMS Host activation without having to follow the -ipk and -ato (online) activation after a host has been restored from backup? How can you be sure that the reactivation will not be counted towards a unique host activation count (limit of 6 kms host per key)? Thank you.

  • GrahamG


    should read:

    AppDataRoamingMicrosoftSoftwareProtectionPlatformTokens.dat for Windows 7 Ultimate

    Great instructions. I'll look forward to trying this next time I do a clean install.

    Many thanks,


  • Jack Hammer

    Thank you very much! This tutorial is great and activated my once pre-activated version. I found a quicker way to enter your key is to open up the 'activation menu' from the toolbar (Which should be in the background if unactivated) and select enter alternative key. Also this process does not have to be run on a fresh install merely an unactivated install: Although I have changed my hardware since last install, hard-drive and RAM the activation still worked.

  • -sOliNo-

    thx very much. i was badly in need of this tutorial :)


  • Pingback: Product_ID van Windows()

  • Pingback: FYI: Windows 7 Home Premium Retail Box Full Version - RM429 (S$176) at JB - Page 2 - VRForums - IT & Singapore Lifestyle Community()

  • johnr

    Good info. Much appreciated. Thanks.

  • Keith Weisshar

    As long as you write down the confirmation ID during a phone activation you may not need to call MS again if the hardware ID is the same after reformatting. Only need to call MS if the hardware ID changes.

  • kukori

    "Restart the Software Protection Service in Services.msc or with the following command (run in elevated command prompt):

    net stop sppsvc" Not "net stop sppsvc", it's already stopped. Please restart sppsvc with: "net start sppsvc"!

    • admin

      Thanks, corrected.

  • ipkonfig

    Thanks for the info :)