Software 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:
- the serial number of a Network Runtime License.
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. See an example of setting of license data folder in Working with the LicensingSettings.xml File.
- 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
Note: You also have the option of setting up a two-server configuration which will allow one of the license servers to act as a backup to another in case it goes offline. For details, see Setting up a redundant license server configuration.
Activating the license on the license server:
Run LicenseManager.exe. Click on the Activate License… button and follow the wizard instructions to activate your license. If your server has access to the Internet you only need to enter the serial number and wait a few moments. For details about the License Manager, see License Manager Utility.
You can also activate the license through the command line. For details, see Working with the License Manager from the command line.
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.
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