How to change the Volume Licensing product key on a computer that is running Windows XP SP1 and later versions of Windows XP (328874)



The information in this article applies to:

  • Microsoft Windows XP Professional SP2
  • Microsoft Windows XP Professional SP1

This article was previously published under Q328874
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry



Warning The steps in the article are effective only on Volume License media. If you try these steps on OEM media or on retail media, you will not change the product key.

INTRODUCTION

If you use a "leaked" product key (a product key that is known to be available to the general public) for the deployment of Microsoft Windows XP across multiple computers (a Volume Licensing installation), you may not be able to install Windows XP Service Pack 1 (SP1) or later versions of Windows XP or automatically obtain updates from the Windows Update Web site. For example, you may experience the symptoms that are described in the following Microsoft Knowledge Base article when you install Windows XP SP1 or a later version of Windows XP:

326904 You receive a "The product key used to install Windows is invalid" error message

This article describes how to change the Windows XP product key after a Volume Licensing installation. You can use the Windows Activation Wizard graphical user interface (GUI) or a Windows Management Instrumentation (WMI) script. The Activation Wizard method is easier, but if you must change the product key for multiple computers, the script method is better.

MORE INFORMATION

Use the Activation Wizard

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

If you have only a few volume licensing product keys to change, you can use the Activation Wizard.

Note Microsoft recommends that you run System Restore to create a new restore point before you follow these steps. For information about how to create a restore point by using System Restore, see the "To Create a Restore Point" help topic in Help and Support.
  1. Click Start, and then click Run.
  2. In the Open box, type regedit, and then click OK.
  3. In the left pane, locate and then click the following registry key:

    HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents

  4. In the right pane, right-click OOBETimer, and then click Modify.
  5. Change at least one digit of this value to deactivate Windows.
  6. Click Start, and then click Run.
  7. In the Open box, type the following command, and then click OK.

    %systemroot%\system32\oobe\msoobe.exe /a

  8. Click Yes, I want to telephone a customer service representative to activate Windows, and then click Next.
  9. Click Change Product key.
  10. Type the new product key in the New key boxes, and then click Update.

    If you are returned to the previous window, click Remind me later, and then restart the computer.
  11. Repeat steps 6 and 7 to verify that Windows is activated. You receive the following message:

    Windows is already activated. Click OK to exit.

  12. Click OK.
  13. Install Windows XP SP1 or a later version of Windows XP.

    If you cannot restart Windows after you install Windows XP SP1 or a later version of Windows XP, press F8 when you restart the computer, select Last Known Good Configuration, and then repeat this procedure.

Use a script

You can create a WMI script that changes the volume licensing product key, and then deploy this script in a startup script. The sample ChangeVLKey2600.vbs script and the sample ChangeVLKeySP1 script that are described in this section use the new volume licensing key that you want to enter, in its five-part alphanumeric form, as a single argument. Microsoft recommends that you use the ChangeVLKey2600.vbs script on Windows XP-based computers that are not running Windows XP SP1 or a later version of Windows XP and that you use the ChangeVLKeySP1.vbs script on Windows XP-based computers that are running Windows XP SP1 or a later versions of Windows XP. These scripts perform the following functions:
  • They remove the hyphen characters (-) from the five-part alphanumeric product key.
  • They create an instance of the win32_WindowsProductActivation class.
  • They call the SetProductKey method with the new volume licensing product key.
You can create a batch file or a cmd file that uses either of the following sample scripts, together with the new product key as an argument, and either deploy it as part of a startup script or run it from the command line to change the product key on a single computer.

For more information about how to script the product key, visit the following Microsoft Web site:

ChangeVLKeySP1.vbs

' 
' WMI Script - ChangeVLKey.vbs
'
' This script changes the product key on the computer
'
'***************************************************************************

ON ERROR RESUME NEXT


if Wscript.arguments.count<1 then
   Wscript.echo "Script can't run without VolumeProductKey argument"
   Wscript.echo "Correct usage: Cscript ChangeVLKey.vbs ABCDE-FGHIJ-KLMNO-PRSTU-WYQZX"
   Wscript.quit
end if

Dim VOL_PROD_KEY
VOL_PROD_KEY = Wscript.arguments.Item(0)
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'remove hyphens if any

for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")

   result = Obj.SetProductKey (VOL_PROD_KEY)

   if err <> 0 then
      WScript.Echo Err.Description, "0x" & Hex(Err.Number)
      Err.Clear
   end if

Next
				

ChangeVLKey2600.vbs

' 
' WMI Script - ChangeVLKey.vbs
'
' This script changes the product key on the computer
'
'***************************************************************************

ON ERROR RESUME NEXT

if Wscript.arguments.count<1 then
   Wscript.echo "Script can't run without VolumeProductKey argument"
   Wscript.echo "Correct usage: Cscript ChangeVLKey.vbs ABCDE-FGHIJ-KLMNO-PRSTU-WYQZX"
   Wscript.quit
end if

Dim VOL_PROD_KEY
VOL_PROD_KEY = Wscript.arguments.Item(0)
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'remove hyphens if any
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents\OOBETimer" 'delete OOBETimer registry value
for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")

   result = Obj.SetProductKey (VOL_PROD_KEY)

   if err <> 0 then
      WScript.Echo Err.Description, "0x" & Hex(Err.Number)
      Err.Clear
   end if

Next 
				

Example

The following example shows how to use the ChangeVLKeySP1.vbs script from a command line:
  1. Click Start, and then click Run.
  2. In the Open box, type the following command, where AB123-123AB-AB123-123AB-AB123 is the new product key that you want to use, and then click OK:

    c:\changevlkeysp1.vbs ab123-123ab-ab123-123ab-ab123

For more information, visit the following Microsoft Web site:

Modification Type:MajorLast Reviewed:5/18/2006
Keywords:kbMSCCSearch kbPubTypeKC kbsetup kbRegistry kbenv kbhowto KB328874 kbAudITPRO