Progress DataDirect has released new version of their ADO.NET data provider for OpenAccess SDK 7.2 last month. With other new features this ADO.NET connectivity has added support for new .NET Frameworks like .NET Framework 4.0 and .NET framework 4.5.
During some post release verification we discovered that Applications targeting .NET Framework 2.0 are able to successfully use the Kerberos Connectivity with the latest OpenAccess ADO.NET 7.2 Provider, But Applications targeting .NET Framework 4.0 or above will face issue in using Kerberos Authentication. The user will see bellow error while attempting the Kerberos Authentication.
The DDTek.OpenAccessHelper assembly with assembly version number of 126.96.36.199 failed to load.
This article will explain why this issue occurs; and what customer can do to resolve this error.
During Kerberos Authentication ADO.NET provider uses Native Windows Calls to generate the Kerberos security token. As these calls are unmanaged code; we separate them out this unmanaged code from the core providers so that we can keep the core providers DDTek.OpenAccess.dll 100% managed. We call this unmanaged component as Helper component (DDTek.OpenAccessHelper.dll).
In 7.2 releases we are deploying 32bit and 64bit versions of DDTek.OpenAccessHelper.dll which are targeting to .NET Framework 2.0. During the .NET Framework 4.0 release; Microsoft has made drastic changes in the Assembly Metadata and because of them applications targeting .NET Framework 4.0 are not able to load these DDTek.OpenAccessHelper.dll components which target .NET Framework 2.0. And hence throw the above mentioned error.
HOW TO RESOLVE THIS ISSUE
If you are facing this issue; Please do following steps to get Kerberos connectivity working with you applications.
gacutil /if net40\32bit\DDTek.OpenAccessHelper.dll