We have a program that deploys with the LF 10.2 SDK, using the appropriate merge modules, which can run text extraction on imported documents. We have found at multiple sites after a fresh installation of LF Server 11 and our product that the Laserfiche.DocumentServices.TextExtractor.LoadExtractor() returns a null instead of a valid instance of TextExtractor. If we install the LF 10.2 SDK Runtime, then we can get the error to go away. However, we did not previously have to install the SDK Runtime with LF Server 10.x installations. It appears that some component necessary for the 10.2 SDK's text extraction to work is no longer installed with LF Server 11 but was with LF Server 10.x, and it is also not part of the 10.2 SDK merge modules.
Discussion
Discussion
Laserfiche SDK 10.2 TextExtractor Not Working with LF 11
Hi Bryon,
Laserfiche 11 applications no longer install their assemblies to the Windows GAC and instead directly reference the libraries in their /bin folders by explicit/relative path. This means that programs you write can no longer depend on loading libraries like RepositoryAccess and DocumentServices by name reference on a server where Laserfiche applications are installed.
If I'm understanding correctly, on a "clean" machine your application does not find all of its dependencies. This would have been true before LF11 as well. Assuming the program is x64, can you confirm you're including all of the following per the SDK 10.2 documentation?:
Installing the Laserfiche SDK 10.2/10.4 Runtime installs ALL the relevant Laserfiche 10.2/10.4 libraries to the GAC. If you don't find a merge module issue that resolving addresses the TextExtractor error, I recommend making installing the SDK 10.2/10.4 Runtime beforehand part of your deployment procedure for the time being.
Cheers,
Sam
Sam,
Thank you for your assistance. Yes, our application is 64-bit and includes all of the merge modules required to use RepositoryAccess 10.2 and DocumentServices 10.2, according to the documentation you referenced. We did not experience this symptom with Laserfiche 10.x installations or Laserfiche 10 to 11 upgrades, only now with clean installations of Laserfiche 11.
Our team now knows to install the Laserfiche 10.2 SDK runtime separately, but we would like to find a solution to prevent this manual workaround.
Thank you,
Bryon
Did this application work on the clean machine before installing Laserfiche 11?
Hi Bryon,
As noted in the documentation that Sam referenced, the runtime is always the best practice for ensuring all of the runtime components are present, to avoid this exact issue. So I'd strongly encourage using that in any case.
That said, in addition to the modules that Sam mentioned, please confirm that all needed VC and .Net runtimes are also present. We updated applications to all the most current versions of those for v11 so the older versions that the 10.2 libraries require will no longer be installed.
Justin, our application's prerequisites include .NET 4.7.2 and Visual C++ 2015 before it can be installed. We are only using RepositoryAccess 10.2 and DocumentServices 10.2 (64-bit versions of each), so we have assumed that .NET Framework 3.5 would not be required and do not check for its presence.
Miruna, I am coordinating with our technical team to test a clean machine with only our software and no other LF components. I will let you know what we find. Again, everything else our application calls with the SDK seems to work fine to import, update, and export data with the Laserfiche repository, except for the text extraction.
Miruna, the application installed with the merge modules does not appear to work with regards to OCR / text extraction before the Laserfiche Client is installed.
I have upgraded to the 10.4 SDK and it appears to be no better. To do OCR through the toolkit seems to require the 10.4 SDK runtime and/or the Laserfiche Client to also be installed in addition to the merge modules being deployed with the application.