Summary
After you install Laserfiche Scanning 8.3.1 on a computer with a non-English version of Quick Fields 8.0.2, attempting to create a new session within Quick Fields may display an error message similar to the following:
The given key was not present in the dictionary.
=============================================
Stack Trace
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Laserfiche.QuickFields.Runtime.QFEngineManager.CreateEngine(Type engineType)
at Laserfiche.BatchProcessor.ComponentModel.EngineManager.ChangeEngine(Type engineType)
at Laserfiche.QuickFields.QFSessionFactory.CreateBlankSession(QFSession session)
at Laserfiche.QuickFields.QFSessionFactory.InitializeNewSession(ISession session)
Cause
This issue occurs because the non-English resources for Quick Fields 8.0.2 does not explicitly define what version to load of a shared assembly. Without that definition, Quick Fields defaults to loading the most recent version of the shared assembly, which may not be backwards compatible with Quick Fields.
Resolution
Manually append the necessary information to the "Laserfiche.QuickFields.exe.config" file.
<dependentAssembly>
<assemblyIdentity name="Laserfiche.BatchProcessor.Processes" publicKeyToken="35de22b2ae3b724a" />
<publisherPolicy apply="yes" />
<bindingRedirect oldVersion="8.3.0.0" newVersion="8.1.0.0" />
</dependentAssembly>