|
Home
| |
HOW TO: Change the Volume Licensing Product Key on a Windows
XP SP1-Based Computer
The information in this article applies to:
- Microsoft Windows XP Professional SP1
This article was previously published under Q328874
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:
256986 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:
326904 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.
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 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
|