Validates a computer-bound license key.
string ValidateLicenseEx2 (string LicenseKey, string ComputerID,
bool skipWrites, bool skipExpiryValidation)
Name | Data Type | Description |
---|---|---|
computerKey | string | computer-bound license key |
computerID | string | computer identifier |
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. |
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. |
Prior to calling this function, you must:
- Call DefineProduct
- Set the PublicKey property
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.
{% code overflow="wrap" %}
string returnMsg = license.ValidateLicenseExe(licenseKey, computerID, 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 %}