Most advanced software protection and licensing systems have extremely rigid registration schemes imposed on them by their nature. Consequently, most developers attempt to offer a customizable solution for developers to give some control over the product.
For some specialized applications, these "custom" software protectors and licensing systems do not offer total flexibility; therefore, those applications cannot implement important features that they need to operate.
WinLicense DLL Control was born to achieve that objective: To offer the most flexible scheme for controlling the status of the protected application and change its behaviour as desired.
WinLicense DLL Control is in fact a custom DLL that is embedded inside the protected application. The DLL control is never extracted to disk and will receive notifications from WinLicense regarding the current status of the protected application. The DLL control can do processing on each notification received by WInLicense without any restrictions.
You can create your DLL Control using any programming language; you just have to export to your DLL the functions that you want to handle when the protected application is running.
When an application has been protected with WinLicense DLL Control, WinLicense will call the DLL Control until the protected application finally takes control of the processor. It attempts this through the following stages:
Your DLL Control is notified when the protected application is going to be launched. The DLL Control can perform any initialization task or processing at this stage, like implementation of your own trial/licensing scheme.
WinLicense will call this function in your DLL Control when the hardware ID for the current machine has been acquired. WinLicense will pass the current hardware ID to your DLL Control and give you the chance to modify or re-create a new hardware ID from other devices...for example, creating a new hardware ID from a dongle device that is attached to your application.
WinLicense will call this function when a valid license key is present and the application is fully registered. WinLicense will send the license information to your DLL Control.
WinLicense will call this function to report the current trial/licensing status of the protected application. In this function you will receive detailed information about the trial status of your application and licensing-related information.
WinLicense will call this function if you want to offer the option of registering the protected application before it is executed.
WinLicense will call this function when the protected application has been totally loaded and decompressed into memory, and it is ready to start its execution.
WinLicense does not impose any restriction in the processing to be done inside each function called from your DLL Control, giving you extra freedom to implement all the ideas that you have in mind.
If you have felt limited by all software protection and licensing systems that you have tried, maybe WinLicense DLL Control is what you were looking for. WinLicense DLL Control was born with the sole objective of giving total freedom to programmers, allowing them to control their protected applications in every possible way.