CreateActivationKeyWithExpiryDateEx7

Description

Creates an activation key on the License Server.

Note that to call this function, you must:

  • Enable the Server Property enableCreateActivationKey

  • Set the AdminEncryptionKey

void CreateActivationKeyWithExpiryDateEx7(string webServiceUrl, string email, 
                                          int[] features, int numKeysToCreate, 
                                          int numSeats, int numFloatingSeats, 
                                          bool useMultipleActivationsKey, string qlmVersion, 
                                          string vendor, string userData1, 
                                          string affiliateID, DateTime expiryDate, 
                                          int expiryDuration, bool maintenance, 
                                          bool generic, ELicenseModel licenseModel, 
                                          string comment, EOrderStatus orderStatus, 
                                          string productProperties, out string response)

Parameters

ParameterTypeDescription

webServiceUrl

string

URL to the QLM License Server.

email

string

email address to associate with to the license key - can be empty

features

int[]

4 element array of features. Each element in the array represents a feature set and the value of each element is the OR'ed value of all the enabled features in this feature set. For example: int[] features = new features[4]; features[0] = 1 + 2 + 4; // In feature set 1, Feature 1, Feature 2 and Feature 4 are enabled features[1] = 1 + 4; // In feature set 2, Feature 1 and Feature 4 are enabled features[2] = 2 + 4 + 8; // In feature set 3, Feature 2, Feature 4 and Feature 8 are enabled features[3] = 0; // In feature set 4, no features are enabled

numKeysToCreate

int

the number of licenses to create. Use this option to create large batches of license keys.

numSeats

int

the number of licenses to embed in the key. This controls how many activations are allowed per key.

numFloatingSeats

int

the number of floating seats for concurrent licensing (requires QLM Enterprise).

useMultipleActivationsKey

bool

if set to true and quantity > 1, one license key will be generated for all required licenses. The number of licenses will be embedded in the license key

qlmVersion

string

version of the QLM Engine

vendor

string

eCommerce vendor to use when generating the key

userData1

string

user data to associate with the license key

affiliateID

string

ID of affiliate

expiryDate

DateTime

expiry date of the key. Set this value to DateTime.MinValue to not set an expiry date.

expiryDuration

int

Expiry duration of the key. Set this value to -1 to not set an expiry duration.

maintenance

bool

set to true to enable the maintenance plan for this license

generic

bool

set to true to create a generic license key. Generic license keys are designed for enterprise customers who purchase hundreds of licenses and do not want to have to activate licenses on every single computer. They activate a single license and get back a Generic Computer Key. Then on every other computer in the organization, they use the Generic Computer Key (not recommended).

licenseModel

set the one of the allowed values: permanent | trial | subscription

comment

string

comment to be added to the license record

orderStatus

set the order status of the license to one of the allowed values: EInProgress | EComplete | EUpgraded | EReleased

productProperties

string

XML string representing the product properties to set. The XML string can be created by calling IQlmProductProperties.Serialize.

response

string

XML fragment containing the result of the call.

Response XML format

<?xml version='1.0' encoding='UTF-8'?>
<QuickLicenseManager>
<keys>A062E-9D0CC-6DC80-0D6A0-E0701-000A0;A062E-9D0CC-6DC80-0D6A0-E0701-000A0</keys>
</QuickLicenseManager>

Example error response

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

Remarks

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	
}
else
{
  // The operation failed
}

Last updated