Updates the data associated with a license key.

The ActivationLog table is used when multiple licenses are issued from a single ActivationKey. In this case, the data associated with each activated computer is stored in the ActivationLog table instead of the LicenseKeys table. Therefore, to update data in the ActivationLog table, you need to specify which computer to update. The computerID, computerKey and computerName arguments can be specified to identify the computer. At least one of these arguments must be specified.

The ActivationLog table contains the following updatable fields: ComputerKey, ComputerName, ComputerID, ActivationDate, LastAccessedDate, ActivationCount

Note that to call this function, you must:

  • Set the AdminEncryptionKey
bool UpdateActivationLogInfo (string webServiceUrl, string activationKey, 
                              string computerID, string computerKey, 
                              string computerName, string licenseData, 
                              out string response)


webServiceUrlstringURL to the QLM License Server.
activationKeystringactivation key to update
computerIDstringthe ID the computer to update
computerKeystringthe computer key to update
computerNamestringthe computer name to update
licenseDatastringXML fragment containing the fields to update. The XML fragment should be of the form:

field1=" 'value'
field2=" 'value' "

where field1 is the name of a field in the LicenseKeys table. For fields of type date, you should use the following date/time format: yyyy-MM-dd HH:mm:ss

ComputerName= " 'my pc' "
UserData1=" 'my user data' "
responsestringXML fragment containing the result of the call


boolreturns true if the operation succeeded; false otherwise.

Response XML format

<?xml version='1.0' encoding='UTF-8'?>
<result>Successfully updated license information for ActivationKey=XYZ.</result>

Example error response

<?xml version='1.0' encoding='UTF-8'?>
<error>Details about the error</error>

Important: The value part of the licenseData xml fragment must be properly escaped for xml reserved keywords.


Use ParseResults to interpret the results of the call and load the returned data into an ILicenseInfo object.

ILicenseInfo li = new LicenseInfo();
string message = string.Empty;
if (lv.QlmLicenseObject.ParseResults(response, ref li, ref message))
  // The operation  was successful  
  // The operation failed


string userData = "Test&Go";  
userData = SecurityElement.Escape(userData);

string licenseData = String.Format (@"\<licenseArguments UserData1=""N'{0}'""> </licenseArguments>",