Last Modified October 2, 2026
- Home
- Guides
- StreamLined Activation
- Activate the License
StreamLined Activation - Activate the License
To activate or re-activate the License using StreamLined Activation, you need to capture the following information from the User via a dialog box:
The License Activation Code
The License Password (max 16 chars), if you use "User Authentication"
An Activation Email Address (optional)
Since no distinction is made between an Activation or Re-Activation with StreamLined Activation, the same dialog
box is used in both situations.
The Activation Email is optional but highly recommended as it provides the User access to the License Manager.
In the dialog box, you can also require that the User confirm both the License Password and the Email Address.
NOTE:
The Activation Email input is used during the initial activation process to set the Activation Email for the License.
During a re-activation, the Activation Email input will not be used (i.e. will not overwrite the existing Activation Email).
Also see User Authentication
for information on using or not using
User Authentication.
Activate the License using StreamLined Activation
Highlighted lines indicate where additional code is required or needs to be modified.
// Implement the StreamLined Activation process
//
// To use the StreamLined Activation process, use the DNA_Activate() API Call
// for activations and re-activations
//
// The DNA Server will itself determine if this is an initial activation
// or a re-activation of the License and will process accordingly
//
// get an Activation Code, Password(*) and Email from the User via a dialog box
// If you do not use the "User Authentication" option, then no need to capture a Password and assign
// a default password value
errNo = DNA_Activate(DNA_product_key, activation_code, password, license_email);
// check result code
// - errNo > 0 means failure
// - errNo = 0 and errNo < 0 means success
// see Developer Guides for the full list of return codes
// here we have only simple error checking in place
if (errNo <= 0 )
{
// success, run the application
}
else
{
// error occurred, quit the application
// optionally, you can display an error message
// you can use DNA_ERROR() which translate the errNo into a more
// user-friendly description, or use your own descriptions
DNA_Error(errNo,buffer,sizeof(buffer));
// display error explanation
// quit the application
}