batch-filewindows-xp-embedded

How do I programmatically determine if my Windows XP System is Windows Embedded Standard 2009?


I have scoured the internet over and over, and every avenue I look to confirm whether or not my Windows XP Professional device (as it shows in msinfo32's GUI read-out AND report options) is actually running Windows XP Embedded Standard? Every major article simply repeats the same jargon of it "being a componentized version of XP." GREAT.

Problem is - we're replacing a bunch of antiquated units and I have been tasked with confirming just how far back our Support ended (yeah, yeah, save the lectures - I'm just as upset these still exist too). . .

Isn't there some kind of Registry check we could look at?!? Preferably using a batch script . . .

I mean . . . sure - my "License Sticker" SHOWS Windows Embedded Standard but what if someone re-imaged this inappropriately and had plain XP Professional installed??


Solution

  • As a matter of fact, THERE IS.

    After hours of digging online, finally gave up and started combing the registry for Embedded and happened upon the magical Registry Key of:

    HKLM\SYSTEM\ControlSet001\Control\WindowsEmbedded\ProductVersion

    AND - inside, there's a Value labeled FeaturePackVersion, and the data for this value says in plain text: Windows Embedded Standard 2009

    SO - if you wanted to check this data for yourself to confirm whether or not your Windows XP Professional system is ACTUALLY running Windows Embedded Standard 2009 you can use this command in a batch file below:

    @Echo Off
    
    Echo Checking for XP Embedded Standard:
    
    reg query "HKLM\SYSTEM\ControlSet001\WindowsEmbedded\ProductVersion" /v "FeaturePackVersion" |Find /i "Embedded Standard 2009" >nul 2>&1
    
    If %errorlevel% GTR 0 (
      Echo Your system is NOT running Windows XP Embedded Standard 2009.
    ) else (
      Echo Your system IS running Windows XP Embedded Standard 2009.
      set "isEmbeddedStandard=1"
    )
    
    REM ... do other code
    
    if defined isEmbeddedStandard (
      Echo Alright - you found it - now do what you need to with this information!
    )