UPDATELIC Verb - Update License for BASIS License Service or BASIS License Manager




The UPDATELIC verb automatically registers and installs license files for the BLS (BBj 22.0 and higher) or the BLM (BBj 4.0 and higher, PRO/5 4.12 and higher).

To use the UDATELIC verb, first complete a successful manual registration for the machine on which the BLS or BLM is installed. All platforms support UPDATELIC. However, on UNIX systems, the developer must connect the BLM directly to the internet without a proxy.

The UPDATELIC verb performs the following functions:

  • Sends the update license request to the current BLS/BLM.

  • Obtains the license registration information:

    • BLS: obtains license registration information from the following file created by the BLS admin:

    • BLM: Obtains license registration information on the server machine from the registry values under the registry key:
      The user obtains this information by performing the license registration either from the VPRO/5 or BBj installation program or by running 'Register for a License' from the BASIS shortcut or from the BASIS Admin tool.

  • Connects to the BASIS license generator using sockets via HTTP protocol, submits registry information, and obtains the appropriate license file.

  • Ensures that this license file is not already installed.

  • Ensures that this license file is the correct license for the machine (validates the hostid).

  • Checks for conflicting licenses by scanning the appropriate license directory, reading all license files for same feature(s), and renaming conflicting files to have an extension of .bak.

  • Installs the license file into the appropriate directory.

  • The BLS or BLM performs a re-read function in order to obtain a new license file.

  • Logs activity to:

    • BLS: <blshome>/log/bls.*.log

    • BLM: <blmhome>/autolic.log


In BBj 22.0 and higher, the UPDATELIC verb is asynchronous and will not return an error. If it encounters any problems, the relevant information can be found in the log file.

UPDATELIC does not work with a redundant server configuration since the client issuing the command is speaking to only one vendor daemon, and only one BLS/BLM (the master) gets the update request. The user will see the following error if this is attempted:

   !ERROR=99(lmutil lmreread failed)

When the UPDATELIC verb fails, the resulting !ERROR=99 has a TCB(10) value containing either a positive BASIS internal error or a negative system error. The following is a list of the possible BASIS internal errors that TCB(10) could return:

Server Errors


A successful manual registration was not completed.


The requested license was already installed.


The provided registration information was invalid.


Sending the HTTP request failed.


The hostid in the returned license file does not match the server machine.


The license returned from the BASIS license generator was invalid.


The BLM/BLS directory was not found.


The license file could not be created.


The license file could not be read/written.


The license file could not be renamed.

Client Errors

50  Cannot connect to license server 
51  Not supported by license server 
52  Not possible while in nag mode 
53  Cannot update a single user license 

To retrieve the string associated with the TCB(10) value, call the LINFO(0,3,0) function.

The values for the expiration dates returned from INFO(2,6) & LINFO(handle,0,2) functions will not be updated until the interpreter is restarted.


Update a license being served by a BLS/BLM:

0010 BEGIN
0030 PRINT "License has been updated"
0040 END
0050 PRINT LINFO(0,3,0)

See Also

Verbs - Alphabetical Listing

BASIS License Service (BLS) Overview

BASIS License Manager (BLM) Licensing Overview