Distinguish XPE from XPPRO

F

Francesco

Is there a way to distinguish calling some software functions XP embedded
from XP professional ?
I would like to be sure that my program runs only on xp embedded but using
the OperatingSystem class (C#) the returned values are the same for XP pro
and XPE.

Any suggestions ?
Thanks
 
M

Mike Warren

Francesco said:
Is there a way to distinguish calling some software functions XP
embedded from XP professional ?

I suspect there isn't. Hopefully one of the experts will pass by.

If you are building the image yourself, you could put an obscure
registry entry in the image that your app could look for.

Another possibility is to check for EWF if you use it or another
embedded enabling feature. Of course, both of these are not
particularly secure methods.

The way we solve the problem is with a custom microcontroller since we
need the uC anyway for other functions. This makes sure our software
will only run on our hardware.
 
O

Oren Winter [MS]

Francesco,
You can call the Win32 API GetVersionEx. If you look at the MSDN
documentation for the OSVERSIONINFOEX structure (which is the output of this
call), you'll notice that one of the members is wSuiteMask (a WORD
variable). Check the VER_SUITE_EMBEDDEDNT (0x00000040) flag in this
variable.
Thanks,
Oren
 
B

Bing.Chen

Dear Francesco,

There is another way to distinguish between XP Pro and XPE with the
registry value.

[HKEY_LOCAL_MACHINE\SYSTEM\Cur­rentControlSet\Control\Product­Options]


Key Name: ProductSuite


Type: MULTI_SZ


Value: EmbeddedNT
(In XP Pro, it seems that no content in this key)



--
Best Regards,
Bing Chen
Advantech Co., Ltd.
Microsoft eMVP

?? - ???????????????
http://www.advantech.com.tw/epc/newsletter/ATW/2005MS/
 
B

Billy Bob

Instead of the registry, I create an environment variable when I made the
Xpe image, and use that as a key to tell me if my application is run from
XPe or XP Pro.

Simple, maybe to simple but it works, and I'm not worried about someone
changing that variable/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top