RecAPI
Licensing on Linux and Mac OS X

Both the Development and Distribution licenses are OEM type licenses, but they may enable different feature sets.

OEM Development license

With this license you are allowed to run the purchased Capture SDK version on your development computers only.

If you got an LCX license file from us you do not need to do license activation step as the given file is already activated. In this case you got an OEM code as well.

Otherwise, purchasing a CSDK one or more license keys are delivered for you. They may represent different feature collections manifesting in LCX files. These LCX files can be downloaded, activated and collected into license pack files (LCXZ). In fact a license pack is a zip file containing LCX files and representing the union of the contained specific licenses. CSDK can be run having an activated LCX file or an LCXZ file containing activated LCX files. Therefore your application must include a call to load the activated license file (kRecSetLicense). The license is validated when the application successfully calls kRecInit. The supplied samples (either Linux or Macintosh) must also call this function with the proper license data.

Activation can be performed using the installed application OP License Manager (/usr/local/bin/oplicmgr on Linux and LicenseManager/oplicmgr on Mac). This application makes all the steps of creating a valid LCXZ file and can insert new LCX files into an existing valid LCXZ.

For activation of a license a 12 character long OEM code is required. The OEM code can be specified for OP License Manager using the -c option. If it is not specified, a random code will be used. In a license pack file all the licenses have to be activated using the same OEM code. This same OEM code is to be specified as the second parameter of the above-mentioned function kRecSetLicense. The OP License Manager application generates a header file at the end of the activation process. This header file contains the OEM code (either specified or randomly generated) belonging to the activated license.

A new license pack can be created using the option -N or -n and listing all the license keys to be packed. The latter option does not do anything if the specified file exists, the former one overwrites it. The above mentioned header file with the OEM code is generated.

An existing license pack can be extended with additional license files using the option -u and listing all the additional license keys. In this case the header file containing the OEM code generated by the previous step must be available as well; oplicmgr uses that to learn the OEM code to be used.

Details about the use of OP License Manager can be seen using the option -h.

OEM Distribution licenses

These are needed when a developer is ready to distribute an application integrating OmniPage Engine. Distribution (end-user) licenses are obtained by contacting the OmniPage sales team.

This OEM Distribution License file can be activated and used in the same way as OEM Developer License files. For details see the above section.

Seat licenses

OEM licenses can be used by any user on any machine. Seat licenses are tied to the specific machine they were activated on. By default the Seat license can only be used by the user who has activated it, but this behaviour can be changed as follows:

License management information is located in a subdirectory of the home folder of the activating user. This folder is named .omnipage-licmgr. It and its subdirectories are readable and writable by any other user, too.

License management is always looking for this directory in the home folder of the user executing the CSDK based application.

If any other user wants to use the CSDK, they should create a symlink named .omnipage-licmgr in their home directory pointing to /home/<LicenseOwner>/.nuance-licmgr, where <LicenseOwner> is the name of the user who has activated the license(s).

Note that the directory .omnipage-licmgr may already exist in the user’s home folder (maybe containing some log files). In that case it should be removed before creating the symlink.