When a client buys our application, we assign to them a unique identifier (computer ID) and generate a general use licence key with that ID, that includes a number of floating seats, which we send them. The first time they startup the application, it would call QlmLicense.ValidateLicenseEx with the license key and computer ID previously supplied, which validates that information via the Internet against what we have in the licensing server.
When the user logs into our application, after start up, we would call QlmFloatingLicenseMgr.ActivateFloatingLicense to consume one of those floating seats. If this fails, due to not having enough seats or some other problem, the user is not able to continue with our application. If there were no problems, then we would call QlmFloatingLicenseMgr.ReleaseFloatingLicense when they log out to return that seat to the pool.
Now, while the floating license activation and release can be handled offline using the FloatingLicense database/XML, we also want to be able to handle the application registration and license check offline, if at all possible. That is, when they start the application on the second, or subsequent, time, we do not need to use the Internet to validate the License Key and Computer ID, but can do so locally. This process would include a timeout period, in days, after which the application must connect via the Internet to validate the license.
Please sign in to leave a comment.