Based on user feedback, I have implemented three new features in the next version of Serial Key Maker Professional. I am finalizing the Beta and I expect have the new version ready for download by July 14th. All users who have current maintenance pans are eligibile for a free upgrade!
I am changing the pricing model in this version. There will be a “Basic” version and a “Professional” version. The basic version will retain the functionality of the current version of Serial Key Maker. The Professional version will include the 3 new features. I will release pricing information details in the near future.
Feature Locking
The first feature I have added is the abilty to provide a more granular level of limitation to the license keys. In version 2.1.0.1 (Pro), you will be able to lock out up to 5 features in your product.

So, if you want to release various levels of your product (for example, a basic version, and a professional version) you can use the License Key you generated with Serial Key Maker Pro to lock the “Basic” users from the “Professional” functionality of your application.
I have intentionally simplified the Feature Locking system. A fundamental design goal of Serial Key Maker is simplicity.
The features are simply named Feature Lock 1 through 5 in the UI and in the code. The features lock and unlock in sequence. That means, if you have Feature 3 unlocked then Feature 1 and Feature 2 are unlocked too. If Feature 4 is locked, then so is Feature 5.
Benefits of Feature Locking:
- can lock up to 5 descrete functions within your application
- provides ability to create tiered pricing levels for your software based on functionality that is unlocked by different license keys you generate
- can maintain and deploy one set of code for all levels of users
- your users do not have to re-install when they upgrade
Machine Specific Keys
Also new is the ability to lock a license key to a particular user’s machine. A number of users have requested the ability to have the benefit of knowing their software is running on one machine only.

This option is neccessarily a little more complex to implement, but some users have deemed the extra effort worth it.
When the Serial Key Maker API is installed with your application, it now generates a machine specific key – a key that uniquely identifies the user’s machine running your Serial Key Maker implemented software.
Your application, or your user, then sends you that Machine Key via email, “phoning home” or whatever method is appropriate. You then use that key with the Serial Key Maker UI to generate a Machine Specific Licence Key, which you then give to your user to unlock your software.
This method of license key maintenance is obviously more labor intensive – you cannot simply generate multiple keys and upload them to your payment processor. You can only generate one key at a time per intended user machine – it makes no sense to mass produce keys intended for one machine. There is some user or application round-trip time required to get the machine key to you so that you generate a key for your user.
Benefits of Machine Specific Keys:
- can lock your software to one user’s machine
- more control on who has access to your software
Disadvantages:
- lose some automation ability – cannot generate multiple keys per user
- User Impact: if your user re-installs their machine, or replaces their computer, they will need to be re-issued with a new license key
Freeform Text
The final feature is the ability add freeform text. Users have requested the ability to add user demographic and/or freeform information with the License Key. To get this to work, I have had to adjust the structure of the key generated. So, when you have this option on, the license key generated will no longer be in the XXXX-XXXXX-XXXXX-XXXXX format, but will rather be in a long encrypted string format. You will thus need to handle that appropriately in your application. (For example is would be unrealistic to have your user type in the encrypted string into a validation box. However, you could provider them with a license file that contains the string, and that your application reads to validate the license.)
Note: This field is NOT used in license key validation directly. Internally, there is no check to ensure that the text inside the free form field is “Joe Smith”. However, there is nothing stopping you doing that validation inside your application after you have requested your user to enter the neccessary information.
Typical usage of this feature is to store user specific credentials for use within your application. For example, you could display the registered user’s name and license details in your application’s “About” page.
Benefits of Freeform Text:
- can store more detailed information pertaining to the license key
- provides flexibility for storing descrete data elements along with the license key
Disadvantages:
- The key generated is a long encrypted string and is not as user friendly as the default License Key generated by Serial Key Maker.
In a future post, I will share some details on implementing the new features in your code with some sample code. I will also discuss the new pricing model.
Update: Press Release: Feature Locking and Machine Locking now available in Serial Key Maker 2.1.0.1!