Identification number of the software

How I can create an identification number of the software,   with each time the software is to download the number east diffirent.
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.

one way to go is create a list of GUID's. so the identification number could be a GUID and the number of the GUID that the appilcaiton will get is the number from the list that matches it's download number.

aplicaiaton had been downloaded X times. that means that the next download will get the ID equal to the item X+1 from the list.

depending on how your web server is set up, you can create a script/cgi that will be called when downloading the app, and which will get the correct GUID from the list and then update a specific file with the guid (maybe even patch the binary)

another qay to go is just to generate the GUID when downloading. This will eliminate the need of pre-existing GUID's.

First solution is good when you have "sold" some licenses to a 3rd party and so you know exactly which one is out and how many and you don't want the 3rd party to sell out more than the amount.

solutions are a lot according to the needs. The above look acceptable to me at this hour :)
Is the purpose of the Identification number to act as unique identification of a PC onto which the software is loaded, so that you can identify which PC's have authorised copies of your software?

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'm speachless :)
JavaScript Best Practices

Save hours in development time and avoid common mistakes by learning the best practices to use for JavaScript.

So am I, I only asked a question, prior to giving a more detailed answer.
ProgsXAuthor Commented:
Your idea good, how I is proceeded
If you wish to have a unique identifier for a PC. You should do something along the lines of making a basic fingerprint from the PC,  no one item of information is going to be unique but a collection of data regarding the PC should be fairly unique.

Add a registration unit to your program it will carry out the functions indicated below.
This unit should be run first each time the new software is started, it will check to see if the registry already contains the encrypted fingerprint data, if it does not then extract from the Registry the following information, such as:

CPU Name
Computer Name
Hard Drive serial number
Maker and Model of the 0 Hard drive

Encrypt this information and save it to the registry, along with the Customers Name and current date, also encrypted.

Then encrypt the information again using a different key and display it. Instruct the user to send this
'Registration string' back to you so that you can activate the software.

When you receive the 'Registration string' decrypt it, store the results in a table holding customer details
and the fingerprint details and installation date from the individual PCs.

Then re-encrypt the fingerprint plus the Customers Name but use a third type of encryption key so that
the information cannot be compared with other encrypted versions, also store the information in a different order.  This will then act as the 'Activation key'.

Send the 'Activation key' to the customer. When they run the new software again the registration checking procedure will run and check and see that the software is not yet fully registered, it will display the initial 'Registration string' and request the 'Activation key'

When the user enters the Activation key, the data should be transferred still encrypted to the registry, but in a different storage place to the Registration fingerprint information.

The software should then check if both the Registration key and the activation key data is stored in the registry. If it is, then both The Registration and the Activation should be decrypted and the paired pieces of information, such as the Hard drive serial number should be checked to ensure that the data is matched in both the Registration key and the Activation key.

The Registry's Registration data can then be checked against the original source of the data within the registry to ensure that this data also is matched up.

If the data sets match then the software is probably on a registered machine and the software can be allowed to run.

If the software fingerprints do not match, then the software is illegal, allow it to run for a limited number of times before stopping it, this will obscure the cause.

I suggest that you have a look at the following link which has a lot of useful info on this area.

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

From novice to tech pro — start learning today.