Where to begin
Say you are like me, and you use SAPERION 7.5.2 and you would really like to do some OCR stuff (Optical Character Recognition, for those not in the know) your primary option is either ABBYY FineReader 9, or 10.
We have opted for 10 as this is the latest and greatest supported by SAPERION, and it is a pretty solid product.
What nobody tells you
This is a nightmare to get working. At least is you are like me and this is the first distributed installation of ABBYY we wish to run.
You need to install ABBYY on all the machines you work on. At least this is in part correct. You will need to do some manual work on copying files to specific folders, you will also need administrative privileges for this.
SAPERION gives you basic instructions on how to do the actual installation for ABBYY on the server , but now I want to run SAPERION and ABBYY on a client that does not reside on our SAPERION server. My laptop.
How you know you missed something
This should indicate to you that something is amiss. Upon further investigation you find that the file is indeed in the location, so this must mean something is stopping the file from actually running. This is the ABBYY License Server.
So let’s fix this
We will do the simplest possible solution, and make it reusable across your entire network.
Let us assume you have ABBYY working on your server, but only on the server, then skip to the Configuring your LicensingSettings.xml file section. If you don’t have it, simply follow the steps below to install ABBYY FineReader 10 on your SAPERION server.
Make sure you have your serial number ready
You will start working on the server until you have your Finerd10 folder configured correctly.
That you have a properly installed SAPERION farm
If something is really unclear or doesn’t make sense in your environment, you might had a problem with SAPERION, which is likely causing havoc in your environment and nobody can access anything, even administrators
If this is the case, someone royally cocked up your server installation.
So stop now and drop me a mail, let’s make your life easier.
Installing the FineReader Engine and License Server on your server
Navigate to your installation ISO for SAPERION, we are going to install the FineReader Engine and the License Server for ABBYY.
Look for the folder \x86\components\finerd10.
Let us start with the License Server first
Unpack the License Server.zip compressed file, you can choose the same folder. Once it has finished, navigate to <zip location>\License Server\License Server
Run ABBYY SDK 10 License Server.msi
Choose your location and communication protocol
You will get given a confirmation and then you can simple click Install
Congratulations, your server has given birth to a beautiful new ABBYY License Server, you must be really proud.
Navigate to the installation path you specified for the License Server
You now need to run your LicenseManager.exe
Click on License > Activate and enter your serial number
If you have any questions, read the PDF called LicenseServer10AdminGuide.pdf in this location if you need more information on activating your license, this is under the Managing Licenses section from page 10.
Caveat, if you don’t know what you are doing, skip pages 1-9, they just serve to confuse you. This is only for a server installation and outlines the 2 ways of installing the FREngine and the License Server on a server only, ignore this for workstations or remote clients.
Now navigate back to the ISO folder location and run the engine setup by clicking FRengine10.msi
My setup has been kind enough to pick up my SAPERION working directory
Ideally this will be a subfolder in your SAPERION DMS-SHARE client directory, if you don’t have a DMS-SHARE for your SAPERION client, you have much bigger problems than OCR, refer to Assumptions.
Once the setup completes you will have a Finerd10 folder in your Destination Folder.
Please note that if you run a CLIENT.ini setup, this folder won’t copy over by default, but we will get to copying the folder later.
Now you have to software on your server and life is grand, you might even be able to do OCR on your local client on the server, let’s make this bulletproof.
Configuring your LicensingSettings.xml file
This is the part nobody tells you about and it is dead simple.
What do we need now?
safi1032.dll file, if this is not in your Application of Share locations for SAPERION, refer to Assumptions. You can find it under your installation ISO as well.
This file needs to be in the same location as your archie32.exe file you use to run SAPERION, this should be in your base folder of your DMS-SHARE
The Finerd10 folder under your DMS-SHARE
The LicensingSettings.xml file in your Finerd10 folder under your DMS-SHARE
Navigate to the Finerd10 folder.
In all probability you don’t have a little xml file named LicensingSettings.xml
So create a file called LicensingSettings.xml in your Finerd10 folder and populate it with the following:
<?xml version="1.0" encoding="utf-16"?> <LicensingSettings xmlns="http://www.abbyy.com/Protection/LicensingSettings"> <LocalLicenseServer> <ConnectionProtocol ProtocolType="TCP/IP" /> </LocalLicenseServer> <LicensingServers> <MainNetworkLicenseServer ServerAddress="MY_SAPERION_SERVER's_IP_OR_NAME" ProtocolType="TCP/IP" /> </LicensingServers> </LicensingSettings>
Unless you have a server called MY_SAPERION_SERVER’s_IP_OR_NAME you will need to make some changes to this file to suit your environment
If you use IKey for hardware licensing, refer to the ABBYY documentation
Now look for LicenseManager.exe and run it, this is still in the Finerd10 folder
You should see a green box next to some details
This means you have a working network license
Now you have verified that you have a working Finerd10 folder.
Now to work on the remote client
You now have to switch over to your remote machine, in my case, my laptop.
If you have a working SAPERION 7.5.2 installation on your machine, navigate to that folder.
If you use CLIENT.ini, navigate to the folder containing your archie32.exe
If you don’t know the difference, there are 2 installation of the SAPERION client,
One being a MSI Installer version, where you run a setup and click next, next, next and SAPERION pops up in your Add/Remove programs
The other, if you have a folder only containing a archie32.exe and a configured CLIENT.ini file, simply running the exe will download all the base files from your DMS-SHARE
Now navigate back to the ISO folder location on the server and copy the the engine setup FRengine10.msi to the machine you are working on.
Run the setup FRengine10.msi and follow the prompts.
Now under the Finerd10 folder you have been using in steps in the Configuring your LicensingSettings.xml file section, copy the LicensingSettings.xml file to the Finerd10 folder or your SAPERION client’s working directory.
Also make sure that you copy the safi1032.dll file into your SAPERION client’s working directory.
Verify your ABBYY
Navigate to your SAPERION client’s directory and open the Finerd10 folder.
You should see an active green box again.
Now you know ABBYY will be able to work on your remote machine.
As a test, close the LicenseManager and rename your LicensingSettings.xml file to LicensingSettings.xml.test and run the LicenseManager.exe
Now look at your license, or at least, lack thereof
Now rename the LicensingSettings.xml.test file back to LicensingSettings.xml and check the LicenseManager to verify everything is working again
This step is to show that this is where the LicensingSettings.xml file should reside in order to make sure safin1032.dll can load properly
Oh, by the way, nobody would have told you where the LicensingSettings.xml goes and all the documentation from ABBYY and SAPERION fail to mention it as well.
Now you can run your SAPERION client and try to OCR something
If you have the correct Document Formats assigned you will even benefit from automatic detection of your areas on you remote client.
Now go have a coffee, you deserve it.
Final note, when working on the server and installing FineReader 10 the ARCHIEF.INI of the client should have the following entry, if your ABBYY still fails, just check if it exists.