IMPORTANT: This article
contains information about modifying the registry. Before you modify
the registry, make sure to back it up and make sure that you
understand how to restore the registry if a problem occurs. For
information about how to back up, restore, and edit the registry,
click the following article number to view the article in the
Microsoft Knowledge Base:
Q256986
Description of the Microsoft Windows Registry
IN THIS TASK
SUMMARY
This article describes how to change the Windows XP
product key in a Volume Licensing installation.
Because of
changes in Windows XP Service Pack 1 (SP1), Windows XP-based
computers that use a leaked product key that is known to be
available to the general public may not be able to install SP1 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 SP1:
Q326904
Error Message: The Product Key Used to Install Windows Is Invalid
There are two methods that you can use to change the product
key with volume licensing media after installation. You can use
either the Windows Activation Wizard graphical user interface (GUI)
or a Windows Management Instrumentation (WMI) script.
The
easier method to use is the
Use the
Activation Wizard method. Use this method when you only have a
few computers on which to change the product key. The
Use a Script method is best when you
have a number of computers on which you have to change the product
key.
back
to the top
Use the
Activation Wizard
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 complete the following 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.
WARNING: If you use Registry Editor
incorrectly, you may cause serious problems that may require you to
reinstall your operating system. Microsoft cannot guarantee that you
can solve problems that result from using Registry Editor
incorrectly. Use Registry Editor at your own risk.
- Click Start, and then
click Run.
- In the Open box, type
regedit, and then click OK.
- In the left pane, locate and then click
the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current
Version\WPAEvents
- In the right pane, right-click
OOBETimer, and then click
Modify.
- Change at least one digit of this value to
deactivate Windows.
- Click Start, and then
click Run.
- In the Open box, type the
following command, and then click OK.
%systemroot%\system32\oobe\msoobe.exe
/a
- Click Yes, I want to
telephone a customer service representative to activate
Windows, and then click Next.
- Click Change Product
key.
- 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.
- Repeat steps 6 and 7 to verify that
Windows is activated. You receive the following message:
Windows is already activated. Click OK
to exit.
- Click OK.
- Install SP1 for Windows XP.
If you
cannot restart Windows after you install SP1, press F8 when you
restart the computer, select Last Known Good
Configuration, and then repeat this procedure.
back to
the top
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 SP1 and
that you use the ChangeVLKeySP1.vbs script on Windows XP-based
computers that are running SP1. 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.
back to the
top
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
Nextback to
the top
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 back to
the top
Example
The following example
describes how to use the ChangeVLKeySP1.vbs script from a command
line:
- Click Start, and then click
Run.
- 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
back to the
top