Solved

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

Posted on 2009-04-09
9
931 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
What Is Transaction Monitoring and who needs it?

Synthetic Transaction Monitoring that you need for the day to day, which ensures your business website keeps running optimally, and that there is no downtime to impact your customer experience.

 
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 400 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 50 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 62

Assisted Solution

by:☠ MASQ ☠
☠ MASQ ☠ earned 50 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 400 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

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

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

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…
This article provides a convenient collection of links to Microsoft provided Security Patches for operating systems that have reached their End of Life support cycle. Included operating systems covered by this article are Windows XP,  Windows Server…
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…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…

691 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