Online protection
In this scenario, you are installing your application which uses ABBYY FineReader Engine library on a server and workstations connected to this server through a network manually. You will need:
- an Online License token file (named like SWRTXXXXXXXXXXXXXXXXXXXX.ABBYY.ActivationToken).
Note that the License server requires an Internet connection when the application is running.
To implement this scenario, you need to install the Licensing Service on the license server — a computer that will manage and distribute licenses among workstations in a network. After that, install the library on the workstations, set up the connection to the license server, and copy the license token to each workstation.
Note: To simplify creating a custom package, unpack the files using the /extract option for the installRnt**.exe or installLS.exe in the command line from the distribution package to a certain folder without installation. Inside it, there will be the following folders:
- for installRnt**.exe:
- FineReader Engine - with the ABBYY FineReader Engine files
- Inc - with the FREngine.tlb (for registering of the FREngine.dll)
- Licensing - with the the Licensing Service files
Use these folders and the instruction below to create your Library package.
- for installLS.exe:
- Licensing - with the the Licensing Service files
- License Server - with the License Server files
Use these folders and the instruction below to create your License Server package.
Creating the ABBYY FineReader Engine packages on your computer:
- Library package. It is a folder with the ABBYY FineReader Engine files listed in ABBYY FineReader Engine Distribution Kit section in Developer's Help. The list will include:
- Files marked as "mandatory" in ABBYY FineReader Engine Distribution Kit. They are system modules and main recognition databases.
- Recognition databases for handprinted text, if you want to recognize handprinted text.
- Resource files for interface languages that will be used in your application.
- Dictionary support files for recognition languages that your application will support. If the recognition languages include languages with the Latin alphabet, make sure that you select the Univers.amd and Univers.amm files.
- Scanning modules, scanning-specific resources and Twain modules if your application will perform scanning via the ABBYY FineReader Engine interface.
- If your application uses the OfficeConverters module (opens input digital documents with the same methods that open the images), copy the files for internal office converter.
- Visual Components modules and corresponding specific resources, if your application uses ABBYY FineReader Engine Visual Components.
You can also create the list of files automatically, with the help of the FREngineDistribution.csv file and the unpacked FineReader Engine folder. See Developer's Help for instructions.
- License Server package. It consists of two folders with the Licensing Service and the License Manager utility files:
- Licensing Service folder with all files copied from the unpacked Licensing folder.
- License Manager (License Manager64) folder with the following files copied from the unpacked License Server folder: AbbyyZlib.dll, Awl.dll, concrt140.dll, FineFormats.dll, FineNet.dll, FineObj.dll, LicenseManager.exe, LicenseManager12.chm, LicensingSchema.xe, msvcp140.dll, ProductLicensingSchema.xe, Protection.dll, ProtectionRes0.dll, ProtectionResShared.dll, ProtectionUI.dll, vccorlib140.dll, vcruntime140.dll.
Use ABBYY FineReader Engine and License Server from the same package. Otherwise, compatibility is not guaranteed.
- Other software components:
- KB2999226 update or the Microsoft Visual C++ 2015-2019 Redistributable 14.28.29912. If you are not installing the Windows Update package, you can install the redistributable from the External Components\VC_Redist folder in the distribution package:
- For 32-bit Windows, use vc_redist.x86.exe.
- For 64-bit Windows, use both vc_redist.x86.exe and vc_redist.x64.exe.
- .NET Framework 4.5 or above if you intend to use the OfficeConverters module.
Installing the Licensing Service on the license server:
Important! Administrator access rights are necessary for the installation.
- Copy the License Server package and the Microsoft Visual C++ 2015-2019 Redistributable 14.28.29912 on the license server.
- Install the Microsoft Visual C++ 2015-2019 Redistributable 14.28.29912.
- Copy the folders from the License Server package to the directory on the license server you expected the Licensing Service to be.
Note: We recommend you organizing ABBYY FineReader Engine files in a folder structure, easy to find and use. See the example below:
- <YourApplicationFolder>/License Server/Licensing Service.
- <YourApplicationFolder>/License Server/License Manager (License Manager64).
- Create a folder for storing the licensing data (%ProgramData%\ABBYY\SDK\12\Licenses folder by default). Every user running your application must have full control permissions on this folder.
- Create a LicensingSettings.xml file. The XML schema to which it must conform can be found in the LicensingSettings.xsd file, which is located in the Inc folder of your developer installation or the CADF\Inc folder in the distribution package.In this file you need to set up the type of connection protocol your license server will use. The supported types are LocalInterprocessCommunication, NamedPipes, TCP/IP, and Sockets:
<LocalLicenseServer>
<ConnectionProtocol ProtocolType="[your protocol type]"/>
</LocalLicenseServer>
By default, the 3022 TCP/IP port is used. If this port is closed on your server, specify another open port:
<LocalLicenseServer> <ConnectionProtocol ProtocolType="TCP/IP" EndPointName="1025"/> </LocalLicenseServer>
- Copy the configured LicensingSettings.xml file into the following folders:
- Licensing Service.
- License Manager (License Manager64).
- Run LicensingService.exe with the "/install" parameter:
LicensingService.exe /install
Activating the license on the license server:
An Online License does not need activation: license information is received at the application run-time from ABBYY Online licensing services. To authorize, the application sends a license token file and a license password. You will need to place the token file where it is expected by the application on all workstations. This location must be specified by the developer (default is %ProgramData%\ABBYY\SDK\12\Licenses).
At run-time, the application needs to connect to ABBYY Online licensing services periodically to receive license information and send usage statistics. No private information is exchanged with ABBYY servers.
- Verify that you allow connections to *.abbyy.com on port 443 (HTTPS).
If the connection is lost, the application will stop functioning after a certain reconnection timeout is exceeded. The synchronization period and the reconnection timeout are specific parameters of each Online License.
Check that the GoDaddy root certificate is installed in the local machine version of the Trusted Root Certification Authorities certificate store. This certificate should be on the license server with the Licensing Service installed. See the detailed information about the certificate on the GoDaddy website.
Note that it is not possible to use two or more Online Licenses simultaneously on the same host. When the application is running and the connection to ABBYY licensing services is working, you can view details of the currently active Online License using the License Manager Utility.
Installing the ABBYY FineReader Engine library on the workstations:
Note: If the license server will also function as a workstation, perform this step for the server too.
- Copy the Library package and software components on all your workstations.
Important! The easiest way to make sure all resource files can be located by the program is to maintain the same folder structure and include in your distribution package the SharedFiles.ini file you will find in the Bin (or Bin64) folder. If you prefer not to use this file, instead of maintaining the folder structure do the following:
- Copy the Data\Resource folder with all subfolders into Bin (Bin64) folder.
- Copy contents of the Data\ExtendedDictionaries folder directly into Bin (Bin64) folder.
- Copy other files contained in the Data folder into Bin (Bin64) folder.
- Install the necessary software components:
- the Microsoft Visual C++ 2015-2019 Redistributable 14.28.29912.
- .NET Framework if it is needed.
- Copy the folder with the ABBYY FineReader Engine files from the Library Package to the directory on the workstation you expected the library to be.
- Register the dynamic libraries you will need:
- If your application loads the Engine object by means of the IEngineLoader interface, register FREngine.dll using the following command line:
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
- If your application uses Visual Components, register VisualComponentsX.dll using the following command line:
regsvr32 /s "<path to VisualComponentsX.dll>"
- If your application uses OfficeConverters, register the .NET assembly DcAooConverter.dll using the following command line:
regasm /nologo /tlb /codebase "<path to DcAooConverter.dll>"
Important! In case you have problems when using COM loaders, working with OfficeConverters or Visual Components, please check the paths to these components in the registry and, if there are errors, repeat the procedure of registration.
- Create the folders which will be used by ABBYY FineReader Engine. In the list below, the default values for these folders are denoted:
- folder %ProgramData%\ABBYY\SDK\12\FineReader Engine (full control permission is required)
- folder %ProgramData%\ABBYY\SDK\12\Licenses (full control permission is optional)
Note: To specify the license data folder during installation, see an example in Working with the LicensingSettings.xml File. You may also use the InitializeEngine function or method of the IEngineLoader interface.
- Copy the license token to a default folder on each workstation or to a folder, the path to which is used by your application in the InitializeEngine function.
Creating a LicensingSettings.xml file:
Create a LicensingSettings.xml file, setting up the same type of connection protocol you specified for the server and the address of the server:
<LicensingServers> <MainNetworkLicenseServer ServerAddress="[your server address]" ProtocolType="[your protocol type]"/> </LicensingServers>
If you set another TCP/IP port for the server, repeat the same setting here.
<LicensingServers> <MainNetworkLicenseServer ServerAddress="[your server address]" ProtocolType="TCP/IP" EndPointName="1025"/> </LicensingServers>
Copying the configured LicensingSettings.xml file:
Copy the configured LicensingSettings.xml file into the folder with ABBYY FineReader Engine files next to FREngine.dll on every workstation:
Note: If the license server will also function as a workstation, the LicensingSettings.xml file for the server must contain both LicensingServers and LocalLicenseServer tags similar to those specified above. The contents of the file will look like this:
<?xml version="1.0" encoding="utf-8"?> <LicensingSettings xmlns="http://www.abbyy.com/Protection/LicensingSettings"> <LicensingServers> <MainNetworkLicenseServer ServerAddress="[your server address]" ProtocolType="[your protocol type]"/> </LicensingServers> <LocalLicenseServer> <ConnectionProtocol ProtocolType="[your protocol type]"/> </LocalLicenseServer> </LicensingSettings>
17.09.2024 15:14:40