ThinkGeo.com    |     Documentation    |     Premium Support

Deploying without SqlServerSpatial110.dll

Hi,


I would like to be able to deploy a app without needing to install the sql server native dlls.  After setting the GeometryLibaray flag like below, I'm still getting this exception "Unable to load DLL 'SqlServerSpatial110.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"  Using build 6.0.159.0



ThinkGeo



.MapSuite.Core.Feature.GeometryLibrary = GeometryLibrary.Managed;

Any thoughts? Thanks




Extra info.


It only appears to happen when a raster layer is involved.  Works with just feature layers.  Perhaps something in the raster layer is still trying to use the native lib.


Thanks



Hi Brian,


The SqlServerSpatial110.dll is required as per our Deployment Guide listed here: wiki.thinkgeo.com/wiki/Map_S...ment_Guide



I find that very disappointing.  One of the reason we use MapSuite is the simplcity of deployment.  This complicates it. 
  
 Also why have the switch to choose the Geometry Library then?

Also from your announcementabout this feature 
  
 "We understand that there may be some scenarios where you are not able to update the Windows folder, and in that case we have included a BaseShape.GeometryLibrary property which allows you to switch between the original managed and the new unmanaged version." 
  
 gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/16/aft/10443/afv/topic/Default.aspx#featuresoverhaul 


Hi Brian, 



You are correct that the change to the LibraryType should not then still require the SQLSpatial dll. However you are using the Daily Development Builds so this could be a bug. I will need to setup a sample to try and recreate this issue with your specific version.



Yep, I suspect there is something in the RasterLayer that doesn't respect that setting.  It works perfect without the spatial dlls if you only use FeatureLayers


Thanks for checking into it.



Brian,  
 Are you using a specific RasterLayer type? Are you using a GeoTiff or some other type of image? Let me also know if what you are using for the GeoTiffLibraryType if you are indeed using GeoTiffs.

Hi Ryan, 



I'm using a GdiPlusRasterLayer. Its actually one I inherited from to use a GdiPlusRasterSource that overrides StreamLoading to provide the image and world file from a business object. If needed I'd be happy to send you the implentations for those to see if anything in their code could be part of the problem. But I don't see anything that does any spatial operations in my code, except making a new RectangleShape in GetBoundingBoxCore 



 if( boundingBox == null ) { var lowerRightX = WrappedITccRasterLayer.WorldFile.UtmX + (WrappedITccRasterLayer.WorldFile.PixelSizeX * GetImageWidth()); var lowerRightY = WrappedITccRasterLayer.WorldFile.UtmY + (WrappedITccRasterLayer.WorldFile.PixelSizeY * GetImageHeight()); boundingBox = new RectangleShape(WrappedITccRasterLayer.WorldFile.UtmX, WrappedITccRasterLayer.WorldFile.UtmY, lowerRightX, lowerRightY); } return boundingBox;



Hi Brian,  
  
 I did a quick test and was able to recreate this issue. I am submitting an internal ticket to the development team to research this further.

Great, Thanks Ryan!

Hi Ryan, 
  
 Just thought I’d see if you guys had a chance to look at this issue? 
  
 Thanks 
 Brian

Hi Brian,  
  
 This has been assigned out for review but I don’t have a timeline on when a fix will be available. We will contact you via this forum when the change is completed.

Hi Brian,


This issue is resolved with the 6.0.198.0 version which you can access from the Customer Portal (helpdesk.thinkgeo.com).



Thank You very much!

Hi Brian, 
  
 You’re welcome, please let us know if you have any questions. 
  
 Regards, 
 Edgar

Hi Brian, 
  
 You’re welcome, please let us know if you have any questions. 
  
 Regards, 
 Edgar