PDA

View Full Version : custom serial number and/or subscription key



vz2rjohnson
06-07-2011, 07:05 AM
is there a way to make custom serial number and/or subscription keys ? example one of my clients has two values that he assigns to customers when they purchase one of his products, a serial nnumber in the form of
SC-000-123-ABC (for single users) or SVC-000-1234-0987-DEFG (for volume license customers) and a special serial number format for OEMs in the format: 16699-OEN-0044501-78420 and what he calls "an authorization token" for single users it is in the form 01-200SUXXXXX-95-673 for VLCs it is in the foem #licenses-VKXXXXX-90-909 (where #licenses can be any value) and for OEMs it looks like OEM-SGX-XXXXX-89-000. in the above examples of authorization keys the 01 is a constant across all licenses for single user, the second group 200 can be replaced by any three digit number, SU is a constnat across all licenses for single user and xxxxx can be replaced by any combination of letters and numbers. the last two groups are variable values consisting of numbers. in the vlk example, #licenses is variable for the first group, the second group is VK is a constant across all volume licenses xxxxx is variable of letters and numbers and the last two groups are variable consisting of numbers. in the OEM example OEM- is a constant, SGX is variable consisting of any three character value, the final three groups are variable with the first of the three being made up of letters and numbers and the final two being made up of only numbers. Ok now with all the examples and breakdowns out of the way, the question is can sb7 generate these two values as serial number and subscription keys, validate them at install time and then write them to the regestry, thus "authorizing" the software to run and updates to function so long as those two values are still in place.

linder
06-07-2011, 07:29 AM
The built-in serial number and/or subscription key format can't be changed. So you have to develop your own serial number and/or subscription key feature (e.g. in a simple Win32 DLL) and then embed and call that DLL directly from your setup.exe to replace the standard (built-in) protection feature.

BTW, you can use different sets of serial numbers (and subscription keys) and let the installer automatically decide whether it is a single-user or a volume license.

Similar to this:

http://www.lindersoft.com/forums/showthread.php?p=52866

Friedrich

vz2rjohnson
06-07-2011, 07:58 AM
linder thanks for your help... i am interested in the way to do what the post you linked to is saying, BUT my support maintenance paln has expired. can you post a walkthrough:
1. do this
2. do that
THEN
3. do the other
IF conditon A occurs then
4. take this action and so on

that should do the trick for the validation using serial number lists and the standard serial/subscription key rutines we could include single user, VLK, and OEM versions of the software in the one installer and based on the license data install the correct version. oh wow! i just thought of a subpoint:

have the license written out in three locations::
1. the regestry
2. [installdir]\authorisationmgmt\keyfile.key
and
3. [windir]\system32\software.lic


can the above subpoint be accomplished?
thanks for the help!

linder
06-07-2011, 08:22 AM
I have attached a screenshot demo (taken from one of our Script Writing Consulting projects).

This demo can detect three different products. To generate the serial number lists, you can use 'Tools' | 'Create Serial Number List'. As an example, "Unique Serial Number Generation ID" is "Secret_Code_ProductA_yada" and "Starting/Ending Serial Number" is 1 and 100. This will generate a list of 100 valid serial numbers for "Product 1".

Do the same with "Secret_Code_ProductB_yada" "Secret_Code_ProductC_yada" so you have three different sets of serial numbers.

The installer displays a standard User Info dialog to ask for the serial number. Of course, you can also use a Custom Wizard dialog here. In the Loop Wizard, the installer checks for three sets of keys. If the entered key is invalid then the user can't continue. If the key is valid, the %SN_ACCEPTED% runtime variable tells you to which list the serial number belongs.

If accepted, the next dialog displays the detected Product Type.

BTW, of course, you can use the sPSDK to generate all the serial numbers and subscription keys:

http://www.lindersoft.com/forums/showthread.php?t=6122

And yes, the subpoint be accomplished (IMO).

Does this help?

Friedrich