ThinkGeo.com    |     Documentation    |     Premium Support

Map Suite Web Edition Server Registration

Hello,


I just had to upgrade a demo site we are running internally for our web offering. I downloaded the 4.0 set of dlls, but then realized I probably have to update some dependencies on the server as well. On page load I am getting a "A generic error occurred in GDI+. " sort of exception and I am assuming it is probably because the server isn't at the 4.0 dlls.


How may I resolve this?


Thanks,


Nelson



Nelson, 
  
   Can you send us the stack trace?  Also you need to add the updated dlls to the website and also update any of the system32 style dependencies.  The ReadMe.txt comes with instructions on how to deploy the system32 files. 
  
 David

Sorry for the delay, David. The stack trace is as follows: 
  
  
 [ExternalException (0x80004005): A generic error occurred in GDI+.] 
    System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) +377630 
    System.Drawing.Image.Save(String filename, ImageFormat format) +69 
    _Default.GetLayerListAndBind(Int32 MapID, SqlConnection conn) +10294 
    _Default.InitializeGeoMaps(Int32 TownID) +122 
    _Default.Page_Load(Object sender, EventArgs e) +154 
    System.Web.UI.Control.OnLoad(EventArgs e) +99 
    System.Web.UI.Control.LoadRecursive() +50 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627 
  
   
 I wouldn’t read too much into it though because I have not manually proceeded with updating the dependencies on the server. I wasn’t sure if I could just copy files over, or if I needed to follow some sort of re-activation process on the server. 
  
 I can post an update here once I am able to look into this. 
  
 Also, one other minor question regarding server licensing. We used our one production copy on an internal server for a demo site, but are thinking of ditching that and integrating maps into an online product we currently offer. We would host the site on another server though. Is it possible to decommission the production license on one server and move it to another? Also, the new server is Windows Server 2008 R2, which automatically makes it 64-bit. Is Map Suite Web Edition compatible with IIS 7.5 and will I need to run in 32-bit mode for full functionality? No big deal if we do, just curious if it’s a tested environment. 
  
 Thanks, 
 Nelson

 


Hi Nelson,
For the first issue, there are two possible reasons:
1.       There is no permission to the filename specified in “System.Drawing.Image.Save(string filename, ImageFormat format)”. Please give the permission to everyone or the one you want to the folder.
2.       The folder specified by the filename where you want to save image doesn’t exist. Please check the filePath valid.
 
As far as I know, the webEdition can works fine under the environment you have mentioned. Please take it easy, you can publish your application to it. Regarding moving the server license, could you contact support@thinkgeo.com? I think they can give you instructions about how to deal with it.
 
Thanks,
Johnny
 

Nelson, 
  
   I think Johnny is right on this.  The error is raised inside of the System.Drawing.Image.Save which makes me thing it is permission related.  The web server side stuff always has permission related problems.  I bet if you just put a button on your web form and on the server side tried to save a file to the same directory it would through some kind of error.  I think we are getting a generic GDI+ error because it is happening in the image save. 
  
 David

I am actually not doing any image saving, so I suppose it could be a cache related error. However, the cache is a client cache, not a server cache… Also, the server is still the same, the permissions are still the same… The only thing that has changed is the version of map suite… 
  
 the readme.txt wasn’t very informative either unfortunately nor the readme.rtf.  
  
 I turned off caching and this had no affect on the error. This runs fine on the dev machine (with mapsuite installed) but not the server (which presumably hasn’t been properly set up). 
  
 What are the front to back steps for migrating a web site running Map Suite Web3.x to 4.x? Just publishing the site like normal with the updated dlls and moving over only the Map Suite 4.0 folder to System32? The site doesn’t come with an installer so I am not leveraging the merge modules if I am supposed to be. 
  
 Thanks for the help guys.

Also, I just wanted to reiterate I am not doing any file saving or image saving of any sort. Just trying to display a map as I had in the previous version. I am assuming this error is resulting from trying to save the tiles? Again, cache is now off so we can rule that out. Thanks.



Nelson,  
  
 The main dll related items that need to exist on the server are as follows: 
 1. The WebEdition.dll, MapSuiteCore.dll, GeoAPI.dll, and NetTopologySuite.dll need to exist in the bin folder of your application. 
 2. The Map Suite 4.0 folder should reside here: 
 32-Bit: C:\Windows\System32 
 64-Bit: C:\Windows\SysWOW64<br/>