Posted by: bytewax | May 7, 2008

How to change the Volume Licensing product key on a computer that is running Windows

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 (http://support.microsoft.com/kb/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

Important This section, method, or task contains steps that tell you how
to modify the registry. However, serious problems might occur if you modify
the registry incorrectly. Therefore, make sure that you follow these steps
carefully. For added protection, back up the registry before you modify it.
Then, you can restore the registry if a problem occurs. For more information
about how to back up and restore the registry, click the following article
number to view the article in the Microsoft Knowledge Base:

322756 (http://support.microsoft.com/kb/322756/) How to back up and
restore the registry in Windows.

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:

http://technet.microsoft.com/en-us/library/bb457096.aspx (http://technet.microsoft.com/en-us/library/bb457096.aspx)

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
undefined’
‘ 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


APPLIES TO
Microsoft Windows XP Professional SP2
Microsoft Windows Server 2003, Web Edition
Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)

Leave a response

Your response:

Categories