KB343: SQLLink service exception due to faulting module ntdll.dll

Symptom

SQLLink repeatedly crashes. After observing the Event Viewer logs, the faulty module is reported as ntdll.dll

Cause

This is a Microsoft SQL CE 3.5 issue, and the recommendations from Microsoft on the matter include updating the version of SQL CE used with the application. The update is not a full version update, but a hotfix designed to address a specific issue. Please refer to Microsoft's KB 2289547 to find out more. 

Solution

  1. Stop the SQLLink 4 service.
  2. Click here to download the hotfix from our website. (Note: You must be logged into the website in order to download the hotfix) 
     
  3. On a 64-bit system, you should install both hotfixes (the 32-bit first and then the 64-bit version), while a 32-bit OS can safely ignore the 64-bit version.
     
  4. The next step to take is to make a modification to the way the SQLLink Service runs when it starts.  There is a file in the SQLLink installation folder called SqlLink4Service.exe.config.  Open it in notepad, and right after the </startup> line, and just before the <appSettings> line, add the following lines:
     

    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
    <bindingRedirect oldVersion="3.5.1.0-3.5.1.50" newVersion="3.5.1.50"/>
    </dependentAssembly>
    </assemblyBinding>

    </runtime>

  5. After making the change in the config file, start the SQLLink service back up again.