Unique ID for Computers

Now I am developing a program registration routine which will generate an unique ID for every computer. Currently I am generating that number based on the Hard-Disk serial number. But in some computers, I am getting unexpected values like exponential values, nothing etc.

Is there any other way to identify a computer uniquely? (any file or registry enties?)
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You could go "web-based" and have your software connect to your website and request a serial number.  A CGI program on the website would then "issue" a number...

If you're interrested, let me know.

What is the intent behind this registration serial number?

You could create your own serial number that is stored in the registry; and base it off some information they enter, like company name, address, date and time, etc...  You could have the user enter the serial number physicaly printed on the side of the PC.

In the past, I have provided the user with a registration key that was based off of their company name, and date of registration.  That way, given the registration key, I could identify the company.
Could you use the NIC address? or part of a GUID?
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

Why couldn't you just base it on their First/Last name.
their serial number would be the ASCII value of each letter of their name compounded togather with a hyphen between their first and last names.

i.e.       44553256-38462997

I use a GUID (you know all those real long number you see in the registry)

a 128-bit number is not unique - but for the next trillion years it is good enough!!!

I don't have my code with me - but I got a VB class module that will generate GUID numbers.

No two computers will generate the same GUID - because they are linked tot he time/date, NIC card, and other numbers Windows thinks up.

But the problem is each time one is generated it will be different - so you will still have to store the number somewhere...

Anyways if you want the code say so and I'll post it once I dig it up...


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
I need a similar code/sample too. Can you please send me one?
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.