Last Modified October 3, 2026

StreamLined Activation - De-Activate the License

 

To allow your Users to install the application on a different computer, the License needs to be de-activated on the current computer.

Typically, you would provide a menu item in your software application that allows the de-activation of the software.

The DNA_Deactivate API Call requires the License Password which must be captured from the User or the "derived" password if your product does not use "User Authentication".

For Floating Licenses, you would include the DNA_Deactivate call in the "Close" event handler of your Application.
See Using the StreamLined Activation Process with Floating Licenses     for details.

The DNA_Deactivate() API call will perform the following:

  • disable the CDM license file on the User’s computer
  • instruct the DNA Server to free-up (i.e. delete) the "Computer" or the "Seat" for this computer which can then be used by another computer / user.

De-Activate the License

Highlighted lines indicate where additional code is required or needs to be modified.

                	
                        //************** De-Activation code **********************//
                            
                        //
                        // For de-activation of the License to allow the User to install on another
                        // computer, the following code should be included
                        // in the response to a "De-Activate" button click or menu selection 
                        //
                        // For Floating Licenses, this needs to be included in the Close Event of your Application 
                        //

                        // the DNA_Deactivate() call requires a <password> parameter that you need 
                        // to capture from the User
                        
                        errNo = DNA_Deactivate(DNA_product_key, password);
                        
                        if (errNo == 0)
                        
                            {
                                // deactivation was OK, exit 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
                                
                        	}