ThinkGeo.com    |     Documentation    |     Premium Support

Unable to load DLL qlServerSpatial110.dll"

Hello,


I just downloaded the latest dev build to fix a problem and am now getting the following error when try to add an OSM overlay:


Unable to load DLL 'SqlServerSpatial110.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)


I reference the microsoft.sqlserver.types.dll which is now in the dev reference folder.


Phil



 Thanks for the post Phil, this week we introduced some new features in the daily build for enhanced geometry functions.  You can read about these features at:


 
gis.thinkgeo.com/Support/Dis...fault.aspx
 
As part of that change there are some new dependencies that need to be deployed to your system folder.   With the daily build there is a new text file called UnmanagedAssembliesDeploymentGuide.txt that will tell you how and where copy the Dll's so everything works correctly.   
 
Also according to the documentation in the link above if you set the BaseShape.GeometryLibrary property it will continue to use the old library and you shouldn't get this error.
 
Thanks!

Hi Guys, 



The application works fine in Windows XP x86, but when trying to run it in Windows 7 x86 I get the "Unable to load DLL" exception that Phil mentions. I have SqlServerSpatial110.dll (the one that was in SqlServerTypes_X86 folder) either in c:\Windows\System32 and c:\Windows\SysWOW64 (is not needed in this system, but that way same installation also should work in x64 Windows 7 installation) 



This is the Exception: 



17/07/2012 15:21:50:  System.DllNotFoundException: No se puede cargar el archivo DLL 'SqlServerSpatial110.dll': No se puede encontrar el módulo especificado. (Excepción de HRESULT: 0x8007007E) 

en Microsoft.SqlServer.Types.GLNativeMethods.IsValid(GeoMarshalData g, Boolean& result) 

en Microsoft.SqlServer.Types.GLNativeMethods.IsValid(GeoData g) 

en Microsoft.SqlServer.Types.SqlGeometry.IsValidExpensive() 

en Microsoft.SqlServer.Types.SqlGeometry.Construct(GeoData g, Int32 srid) 

en Microsoft.SqlServer.Types.SqlGeometry.GeometryFromText(OpenGisType type, SqlChars text, Int32 srid) 

en Microsoft.SqlServer.Types.SqlGeometry.STGeomFromText(SqlChars geometryTaggedText, Int32 srid) 

en ThinkGeo.MapSuite.Core.BaseShape.ContainsCore(BaseShape targetShape) 

en ThinkGeo.MapSuite.Core.RectangleShape.ContainsCore(BaseShape targetShape) 

en ThinkGeo.MapSuite.Core.BaseShape.Contains(BaseShape targetShape) 

en ThinkGeo.MapSuite.WpfDesktopEdition.MarkerOverlay.DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType) 

en ThinkGeo.MapSuite.WpfDesktopEdition.Overlay.Draw(RectangleShape targetExtent, OverlayRefreshType refreshType) 

en ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.lBU=(Overlay lxU=, RectangleShape mBU=, OverlayRefreshType mRU=) 

en ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.jBU=(IEnumerable`1 kRU=, RectangleShape khU=, OverlayRefreshType kxU=) 

en ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType) 

en ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.hBU=(Object hRU=, EventArgs hhU=) 

en System.Windows.Threading.DispatcherTimer.FireTick(Object unused) 

en System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 

en MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 




I found the solution here: gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/30/aft/10493/afv/topic/Default.aspx  
  
  It seems that Microsoft Visual C++ 2010 Runtime is also needed.

Hello Carlos, 
  
 Thanks for your sharing the experience. 
  
 Regards, 
  
 Gary