Source Code Integration
To implement an workflow with a Serial Number you should implement the following code sequence.
Create generic license file
The generic license file, which is included in the installation package, has exactly the same settings like the file used with EasyGo. See Create license File.
Ensure that you have set the property - Activation Status after product activation - in your project file.
Test main license
At the program start, implement the following code sequence
• | SetLanguage - define language for all screens and error messages. Necessary even if you use own screens |
• | Open the license file with PrepareAdvanced - implement an own error handling. Error 1024 (copy protection violation) should allow to type in an Activation Key to switch copy protection type. Use SecurityLevel and PrepareForce to open the file and ShowLicViewer or an own user interface to provide the necessary information |
• | If you want to use a license transfer, use CheckModule |
• | Now test the main module with ValidateEX or ValidatesYes and check for time limitation with RemainingDays an/or ExpiredOn |
• | If the module is expired display a screen - Evaluation Period Expired. Make sure that you cover the situation if the version expires when the user already typed in a Serial Number and hasn't got the Unlock Key back |
• | If the status Activation is none (0) then the software does not need activation (no Serial Number was applied). Retrieve the activation status with GetWebActivation. Display a screen like this - Start Screen in Evaluation Mode |
• | If the status Activation is required (1) then a Serial Number was applied - display a screen to type in an Unlock Key - see Enter Unlock Key |
• | The user would have to type in 2 keys (key to turn on copy protection and key to delete demo version and the time limitation as well as changing the activation status to done ). You could store the second key in the license file and automatically apply the key (using ApplyInvisibleKey), if the user entered the Unlock Key and copy protection is activated - see solution how this is done with EasyGo |
• | If the status Activation is done (2) then the software is activated - a screen should be displayed only in case of an error generated during PrepareAdvanced |
• | Provide an Own License Viewer |
• | To display errors, you could use ShowStartErrorPage, which would also cover to view the license and apply keys. You can retrieve a language specific error message with GetErrorMessage for your own dialogs |
• | Use Quit at the end of the application |
You can make your own screens to type in a Serial Number and offer Online Activation, E-Mail, Fax or Phone Activation. The Serial Number must have the same settings like used in EasyGo - see Serial Number Key. If you want to use the E-Mail Activator Service then use GetMailActivatorBlock to build then encrypted text block for the E-Mail.
To save the Serial Number in the license file use ApplyActivationKey. To save the user name use SetVal, Token CST.
Use the command: GetSerial
|
The Unlock Key must have the same settings like used in EasyGo - see Unlock Key. Just use ApplyActivationKey to save the Unlock Key. |
The Online Activation process can be implemented with a few DLL calls. The configuration files are the same as used for EasyGo - see configure a project
The Serial number would be used as the unique ID on the Activation Server.
Use the command: GetSerial
The sequence for the Online Activation is as follows:
|
Use GetInstcode to retrieve the hardware ID(s).
You can build the block for the automated e-mail activation using GetMailActivatorBlock. Your application has to open the default e-mail client (e.g. with mailto:) and insert the activation data like Serial Number, name and the block for automated e-mail activation.
|
Use GetInstcode to retrieve the hardware ID(s) and display all Ids on the screen.
|
You can test a module using ValidateEX (recommended), Validate or ValidatesYes. Additional options are:
For modules which are from type user, PC, concurrent, Item counter you can
|
Recommendations
You should provide a function to view the license information. Either provide the License Viewer or implement an own viewer.
See also
Create own License Viewer
Transfer a license from PC A to PC B
Block / Lock a license after Activation is done
Tamper Detection