Skip to content

Latest commit

 

History

History
94 lines (75 loc) · 3.47 KB

validatelicenseex3.md

File metadata and controls

94 lines (75 loc) · 3.47 KB

ValidateLicenseEx3

Description

Validates a computer-bound license key.

string ValidateLicenseEx3 (string LicenseKey, ELicenseBinding licenseBinding,
                           bool skipWrites, bool skipExpiryValidation)

Arguments

Name Data Type Description
computerKey string computer-bound license key
licenseBinding ELicenseBinding license binding type
skipWrites bool Do not write any data on the end user system. Should be set to false in most cases.
skipExpiryValidation bool Do not check for expiry of the license. Should be set to false in most cases.

Return

Data Type Description
string A message indicating the result of the validation. Do not parse this message. Use GetStatus to get the exact status of the validation.

Remarks

Prior to calling this function, you must:

You can call this function for any type of license key. If the license key is not computer-bound, set the ComputerID to an empty string.

After calling this function, call GetStatus to get the status of the call.

Example

{% code overflow="wrap" %}

string returnMsg = license.ValidateLicenseEx3(licenseKey, ELicenseBinding.ComputerName, false, false);
bool ret = false;
bool needsActivation = true;

int nStatus = (int)license.GetStatus();

if (IsTrue(nStatus, (int)ELicenseStatus.EKeyInvalid) ||
    IsTrue(nStatus, (int)ELicenseStatus.EKeyProductInvalid) ||
    IsTrue(nStatus, (int)ELicenseStatus.EKeyMachineInvalid) ||
    IsTrue(nStatus, (int)ELicenseStatus.EKeyExceededAllowedInstances) ||
    IsTrue(nStatus, (int)ELicenseStatus.EKeyTampered))
{
    // the key is invalid
    ret = false;
}
else if (IsTrue(nStatus, (int)ELicenseStatus.EKeyVersionInvalid))
{
    // wrongProductVersion
    ret = false;
}
else if (IsTrue(nStatus, (int)ELicenseStatus.EKeyDemo))
{
    // The key has an expiry date

    if (IsTrue(nStatus, (int)ELicenseStatus.EKeyExpired))
    {
        // the key has expired
        ret = false;        
    }
    else
    {
        // the key is still valid
        ret = true;
        // call license.DaysLeft to get the remaining days
    }
}
else if (IsTrue(nStatus, (int)ELicenseStatus.EKeyPermanent))
{
    // the key is valid and permanent
    ret = true;
}

if (ret == true)
{

    if (license.IsActivationLicense (license.LicenseType))
    {
        needsActivation = true;
        ret = false;
    }                
}

{% endcode %}