?
Solved

How can I determine the version of Windows XP from a product key?

Posted on 2009-04-09
9
Medium Priority
?
933 Views
Last Modified: 2012-05-06
Very often I must perform a repair install or clean install of Windows XP without knowing which version it is. Obviously, I know if it is Home or Pro or MCE2002 or MCE2005, but I often don't know if it is OEM, retail, corporate (open license), or a special Dell/HP/Sony-specific one that I occasionally encounter. If the XP sticker is on the computer it's usually OEM, but otherwise I don't know how to tell which version it is. If I use the wrong version of Home or Pro to perform a repair install or clean install, then obviously the product key doesn't work with that installation. How can one tell, from the product key or otherwise, EXACTLY which version of XP is installed on a machine?

Thanks.
0
Comment
Question by:NRTCF
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 5

Expert Comment

by:mrmarkfury
ID: 24110227
Go to start->run->winver.exe
0
 
LVL 5

Expert Comment

by:mrmarkfury
ID: 24110280
Forgot to add this:

You can right click My Computer, go to properties, and it should tell you if the version of XP is Home or Pro

This might also help:
http://episteme.arstechnica.com/eve/forums/a/tpc/f/99609816/m/360007140831
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 5

Expert Comment

by:mrmarkfury
ID: 24110403
This may also help deciphering the Product ID
http://wiki.lunarsoft.net/wiki/Product_IDs
0
 
LVL 19

Accepted Solution

by:
jss1199 earned 1600 total points
ID: 24110405
Fun.

If you right click "My Computer" and select "Properties" you will notice a code that looks like xxxxx-xxx-xxxxxxx-xxxxx in the "Registered to:" section - this is the product key and can tell you the SKU and channel (e.g., if it is Pro, Home, Upgrade, OEM, SLP, VLK, etc.) The first block is your SKU, the second is your channel.

For example, a 55274 at the start means you are XP Pro. 55277 is Home. 76487 is MediaCenter 2005. For the second set of numbers, OEM is .. well.. OEM. 335 is Retail. 640 is VLK.  See list of known SKU and Channels below.

SKU
55274 : XP Pro generic OEM
55276 : XP Pro (upgrade)
55276 : XP Home (?)
55277 : XP Home generic OEM
55285 : XP Pro
55661 : XP Pro (retail)
76475 : XP Home (upgrade) (?)
76477 : XP Home Royalty OEM
76481 : XP Pro Dell OEM
76487 : XP Media Center Edition 2005
76487 : XP Pro Royalty OEM
76487 : XP Pro SP2 (retail)
76487 : XP Pro volume license (with '640' channel ID)
76500 : XP MCE 2005 (which is XP Pro with no domain capability)
76588 : XP Pro x64 OEM

Channel
000 : Other (includes some retail, upgrade and evaluation versions)
006 : MS or Partner promotions ("Go Pro" Promotion)
007 : FIXME : Retail
009 : Not for resale - bundle
011 : Upgrade (XP Home?)
083 : Windows Genuine Advantage
OEM : OEM (This does not specify royalty or normal OEM)
270 : Volume License
296 : MSDN
308/347 : Microsoft Action Pack subscription
335 : Retail
640 through 652 : Volume License (usually generated via 270 CID in setupp.ini)
699 : Volume Windows XP Tablet Edition
071 : FIXME : Unknown.
0
 

Author Comment

by:NRTCF
ID: 24110725
Perfect, jss1199! Is there any way to discern this if I cannot login to the computer? For example if the hard drive is dying and all I can do is plug the hard drive into another computer and browse the contents?
0
 
LVL 5

Assisted Solution

by:mrmarkfury
mrmarkfury earned 200 total points
ID: 24110943
Use this: http://www.nirsoft.net/utils/product_cd_key_viewer.html

Navigate to the program in the command line (Start->Run->cmd) and type the following:
produkey.exe /regfile "D:\WINDOWS\system32\config\software"
Change D: with the slave drives letter
0
 
LVL 63

Assisted Solution

by:☠ MASQ ☠
☠ MASQ ☠ earned 200 total points
ID: 24111002
You could slave the HDD of the machine you are repairing to another PC and then use Regedit to load the hive from the slave's HKLM (Don't forget to unload when you've finished!) You'll find the Windows Product Key at:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductID
0
 
LVL 19

Assisted Solution

by:jss1199
jss1199 earned 1600 total points
ID: 24111127
In that case, the registry is your best bet as another poster commented.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductID
 
If the computer is alive, you can run the below code.  Easily modifiable to pull from a remote machine.
 
 
 

'==========================================================================
' NAME: GetCDKeyandSerialNumber.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL: http://www.thespidersparlor.com
' DATE  : 3/16/2006
' (C) 2006, All Rights Reserved
'
' COMMENT:
'
'==========================================================================
Set WshShell = CreateObject("wscript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set env = WshShell.environment("Process")
strComputer = env.Item("Computername")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Const HKEY_LOCAL_MACHINE = &H80000002
Const UnInstPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
".\root\default:StdRegProv")
strDigitalProductId="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"
strXPKey=GetKey(WshShell.RegRead(strDigitalProductId))
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
For Each objItem in colItems
    report = report &  "Original CD Key:"& strXPKey & vbCrLf
    report = report &  "SerialNumber: " & objItem.SerialNumber & vbCrLf
Next
MsgBox report
Function GetKey(rpk)
 
Const rpkOffset=52:i=28
szPossibleChars="BCDFGHJKMPQRTVWXY2346789"
 
Do 'Rep1
dwAccumulator=0 : j=14
  Do
  dwAccumulator=dwAccumulator*256
  dwAccumulator=rpk(j+rpkOffset)+dwAccumulator
  rpk(j+rpkOffset)=(dwAccumulator\24) and 255  
  dwAccumulator=dwAccumulator Mod 24
  j=j-1
  Loop While j>=0
i=i-1 : szProductKey=mid(szPossibleChars,dwAccumulator+1,1)&szProductKey
  if (((29-i) Mod 6)=0) and (i<>-1) then
  i=i-1 : szProductKey="-"&szProductKey
  End If
Loop While i>=0 'Goto Rep1
 
GetKey=szProductKey
End Function

Open in new window

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Ok I have been working on this for some time having learned and gained certification in XenDesktop 4 along came version 5 which was released last month. Since then I have been working to deploy XenDesktop 5 in a small environment with only 2 virt…
If you have done a reformat of your hard drive and proceeded to do a successful Windows XP installation, you may notice that a choice between two operating systems when you start up the machine. Here is how to get rid of this: Click Start Clic…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question