Image identification

P

Podi

Hi all,

I am creating a customed component containing proprietary software for
my clients to build their XPe images. When the image is deployed and
running, my software will send a unique ID to my server. This unique ID
can be either pre-generated by my server (preferred) or the MS license
PID (my server can use it to generate its ID internally, but that means
more work on my server side).

Any pointers to the following questions will be much appreciated.

1. For my server ID case, I can provide these IDs to my clients, but
how can they get them into the images of the devices?
1.a For example, my client has 1000 devices, I provide them the
customed component and 1000 IDs. How does my client get these IDs onto
1000 devices programmatically without much labor?

2. For the MS license PID case, what is the API for getting the
25-digit PID?
2.a Is it legal to have the same PID on more than one devices if you
have a sticker for each device?
2.b If 2.a is true, then the PID is not a valid solution. What are
other ways to uniquely identify XPe devices?

Thanks in advance.
 
M

Martin Grossen, eMVP [AVNET Silica]

Hi Podi

The PID on XP-Emebdded devices are all the same.
This is the case for all OEm devices.
All Embedded devixces are OEM devices.

So, use the system SID (Siystem Identification) Number.
This should be an unique number.
(When deployment was done right)
:)


--

Martin Grossen, eMVP

AVNET EMG Silica
Franchise Manager Microsoft Embedded Europe

Your competent partner for Microsoft Embedded licencing

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
M

Martin Grossen, eMVP [AVNET Silica]

Yes you can.
There is also source code available for this program.
Thta's the way!


--

Martin Grossen, eMVP

AVNET EMG Silica
Franchise Manager Microsoft Embedded Europe

Your competent partner for Microsoft Embedded licencing

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
P

Podi

I am still in the prototyping phase, and would like to get my prototype
script working as fast as possible (before investing time into
low-level C programming).

I basically need a command line tool that can read the SID such as:
getsid.exe > sid.txt

Instead of modifying the NewSid project from sysinternals, can I read
the SID from the registry HKEY_USERS/S-1-5-21-***, where *** is the 33
character string? Is this the SID that everyone is talking about?

Thanks again.
P
 
P

Podi

Plus, from sysinternals' file sid.cpp below, both my XP Pro and XP
Embedded don't have the key
HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account. Instead, they both
have key HKEY_LOCAL_MACHINE\SAM\SAM and HKEY_LOCAL_MACHINE\Security
with not value set. Am I missing something here?

PSECURITY_DESCRIPTOR GetMachineSid()
{
PSECURITY_DESCRIPTOR newSecDesc, oldSecDesc;
DWORD valType;
PBYTE vData;
HKEY hKey;
DWORD nb;
PBYTE sidPtr;
DWORD Status;

//
// Now, get the descriptor of HKLM\SOFTWARE and apply this to SECURITY
//
newSecDesc = GetRegSecDesc( HKEY_LOCAL_MACHINE, L"SOFTWARE",
DACL_SECURITY_INFORMATION );

//
// Read the last subauthority of the current computer SID
//
if( RegOpenKey( HKEY_LOCAL_MACHINE,
L"SECURITY\\SAM\\Domains\\Account",
&hKey) != ERROR_SUCCESS ) {

MessageBox( NULL, L"NewSID was unable to access the\nComputer's
SID.",
APPNAME, MB_ICONERROR|MB_OK );
return NULL;
}
 

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