Add a license to license storage of administration server.
Due to the requirement to use licenses from activation 2.0 servers in priority use the following algorithm:
- Call InstallKey specifying an activation code;
- If the method returns error KLOLA::KLOLA_ERR_SERVER and subcode KLOLAEL_ERR_LICENSE_NOT_FOUND or subcode KLOLAEL_ERR_SERVER_1_REQUIRED, then download key files from activation servers 1.0 using the DownloadKeyFiles method, otherwise do not download key files (see Some error definitions);
- Call InstallKey for each downloaded key file (if they were downloaded)
- Parameters:
-
pKeyInfo | (params) input data container, mandatory:
Add a license by specifying contents of a key file:
-
- "KLLICSRV_KEYDATA" - key data container, mandatory (paramParams)
-
- "KLLIC_IFKEYFILE" - set to true in this case, mandatory (paramBool)
-
- "KLLIC_LICFILE" - keyfile body, mandatory (paramBinary)
Add a license by specifying just an activation code (license information will be requested from the activation server 2.0):
-
- "KLLICSRV_KEYDATA" - key data container, mandatory (paramParams)
-
- "KLLIC_IFKEYFILE" - set to false in this case (paramBool)
-
- "KLLIC_LICFILE" - ASCII-encoded string with activation code in format of XXXXX-XXXXX-XXXXX-XXXXX (exactly 23 characters long buffer) (paramBinary)
|
- Returns:
- (wstring) serial number of the installed license.
- Exceptions:
-
Throws | exception in case of error. |
- See also:
- UninstallKey
See also Python code with use of KlAkOAPI Python package below:
server = KlAkOAPI.AdmServer.KlAkAdmServer.Create("https://ksc.example.com:13299", "username", "password", verify = False)
oLicenseKeys = KlAkOAPI.LicenseKeys.KlAkLicenseKeys(server)
wstrActivationCode = "XXXXX-XXXXX-XXXXX-XXXXX"
try:
wstrSerial = oLicenseKeys.InstallKey(KlAkOAPI.Params.KlAkParams({"KLLICSRV_KEYDATA": {"KLLIC_LICFILE": wstrActivationCode.encode('ascii'), "KLLIC_IFKEYFILE": False} })).RetVal()
except KlAkOAPI.Error.KlAkError as err:
if err.code == 2351 and (err.subcode == 3 or err.subcode == 34): # code KLOLA::KLOLA_ERR_SERVER (2351), subcode KLOLAEL_ERR_SERVER_1_REQUIRED (3) or KLOLAEL_ERR_LICENSE_NOT_FOUND (34)
arrKeys = oLicenseKeys.DownloadKeyFiles(wstrActivationCode).RetVal()
for arrKey in arrKeys:
oLicenseKeys.InstallKey(KlAkOAPI.Params.KlAkParams({"KLLICSRV_KEYDATA": {"KLLIC_LICFILE": arrKey, "KLLIC_IFKEYFILE": False} }))
else:
raise
- See also:
- Sample. Enumerating license keys.