Where is the correct reference for LFImageEnable located for SDK 10.2?
Question
Question
Replies
I know this is old, but wanted to post in case anyone else finds they are having similar weird issues with LFImageEnable. I do quite a bit of installing/uninstalling/reinstalling for different client projects and testing, so I always used CCleaner to help keep my computer clean. One day, I ran into another LFImageEnable issue, however this time the only thing I had done that day before the problem occurred was run CCleaner. I uninstalled CCleaner, repaired my LF Client and SDK installations, and everything worked again, and I've not had the problem since. So if you have CCleaner installed, and have crazy weird issues, it could be the culprit!
The Image Enable library has been degraded and replaced by the .NET Client Automation Tools (CAT) library. To view the documentation for CAT, open the Laserfiche SDK 10.2 Documentation
The current Image Enable replacement library is now called Client Automation Tools (CAT).
Correct, however LFImageEnable still functions in new releases of Laserfiche. And unfortunately, I don't have time to write all new code for CAT. If it's not present with 10.2, what is the last version to have it? I will reinstall that SDK to gain access.
My dev machine has both SDK 10 and 10.2. The only Image Enable DLL I find on my system is "C:\Program Files (x86)\Common Files\Laserfiche\LFObjects\LFImageEnable80.dll" and I believe that was installed with the client. Check the SDK 9.x for documentation.
See LFImageEnable or CAT is only available through installing the SDK?
I found it in C:\Program Files (x86)\Common Files\Laserfiche\LFObjects\LFImageEnable80.dll as well. And also in C:\Program Files\Common Files\Laserfiche\LFObjects\LFImageEnable80.dll. I do have the full 10.2 SDK package installed, along with the Laserfiche Server and Client.
I asked about the correct reference because when using the C:\Program Files (x86)\Common Files\Laserfiche\LFObjects\LFImageEnable80.dll, I started receiving the error "Object reference not set to an instance of an object." when I call ImageEnable.Search. I haven't made any code changes to the search function either.
I've uninstalled all previous versions of the Laserfiche SDK, manually deleted files/folders that were left empty/rogue, and then repaired my Laserfiche Server, Client, and SDK 10.2 versions. After, I ran Dependency Walker, see attached spreadsheet.
The last line of the spreadsheet data is the NTEROP.LFIMAGEENABLE80LIB.DLL file after I add c:\program files (x86)\common files\laserfiche\lfobjects\LFIMAGEENABLE80.DLL as a reference to my Visual Studio project.
Shouldn't the INTEROP.LFIMAGEENABLE80LIB.DLL version match the LFIMAGEENABLE80.DLL version? Can someone at Laserfiche verify these versions are correct?
ImageEnable is still being installed, but its functionality hasn't been updated. It's still supported, and should continue to work, however. The interop DLL version doesn't have to match the version in the ImageEnable DLL.
But should the interop DLL version match the version in the ImageEnable DLL?
I'm going a little crazy trying to figure out why my integration is working for me, but not for my client. My client receives an error "Object reference not set to an instance of an object" when calling LFImageEnable.Search(searchstring) when their Laserfiche client is open. If their Laserfiche client is closed, the integration launches Laserfiche and completes the search successfully. The integration works for me either way, no errors at all!
My client and I both have Laserfiche 10.2 and Laserfiche 10.2 SDK/Runtime Toolkit installed on a Windows 7 OS machine. My dev/test machines have had multiple versions of the SDK installed previously though. I've tried to clean all old versions/files, but maybe VS is pulling some old reference on my dev machine that my client wouldn't have on their machine?!
I'll rebuild their project again, but any additional details are greatly appreciated!