Log In

ValidateLicenseAtStartup

Description

Validates a license

bool ValidateLicenseAtStartup(ELicenseBinding licenseBinding, 
                              ref bool needsActivation, ref string returnMsg)

Parameters

ParameterTypeDescription
licenseBindingELicenseBindingthe license binding to use when validating the license
needsActivationboolreturned flag indicating whether the license needs to be activated
returnMsgstringmessage returned by the license validation operation

Return

TypeDescription
booltrue if the license is valid; false otherwise

Remarks

This function is typically called when your application starts up. It looks for an Activation Key and a Computer Key on the user system. If found, it validates the license and returns the result of the validation.

The validation is a two-step process: client-side validation and server-side validation (optional).

First, the license is validated locally without contacting the server. If the license validation fails because it has expired or the version is wrong, and if server-side validation is enabled, ValidateLicenseAtStartup contacts the server and determine whether the expiry date was extended or whether the user has a maintenance plan that entitles use of the installed version of the product.

If the local license validation succeeds, and if server-side validation is enabled, ValidateLicenseAtStartup contacts the server and perform 2 sets of operations:

  • Determines if the license is valid on the server by checking if:
    • the license is found on the server
    • the license was not revoked on the server
    • the current computer is not detected as illegal
    • the client system date is identical to the server's system date, within a specified threshold
  • Determines if there were changes to the license on the server-side that need to be applies to the client:
    • the license expiry date was updated on the server
    • the features associated with the license were updated on the server
    • the number of seats associated with the license were updated on the server

If the server-side validation fails, ValidateLicenseAtStartup returns false and sets the property ServerErrorCode.