ThinkGeo.com    |     Documentation    |     Premium Support

Deployment issue with Mapsuite

 


Hi,
 
We are facing a problem in the deployment for our website which is making use of Mapsuite.The application is deployed in WinXp machine which has .Net framework 3.5, Silver light 3.0 installed in it.
The application is referring to SilverLightMapConnector, MapsuiteCore, MapsuiteCommon and MapsuiteConnector dlls. When we try to browse the page we are getting the exception which is attached below.
 
Can you suggest what other changes or dlls should be used for the deployment?
 As we are not having Visual studio installed in the deployment machine, we are not able to debug them.
 
Company: Honeywell.
Team: Nate Falk
Mapsuite dlls Version: 2.0.
 
Note: The application is working fine on developer machine.
 
 

Server Error in '/RVSWebClientBuild2.0' Application. 




The specified procedure could not be found. (Exception from HRESULT: 0x8007007F) 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 



Exception Details: System.Runtime.InteropServices.COMException: The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)



Source Error:

    
        
            
            An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
            
        
    



Stack Trace:

    
        
            
            <divre></divre>
             
             
            [COMException (0x8007007f): The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)]
            
 
            [FileLoadException: A procedure imported by 'MapSuiteEcwX86, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' could not be loaded.]
               MapSuiteGeoRaster.GeoImageECW..ctor() +0
               CreateGeoImageFile(String filename) +71
               MapSuiteGeoRaster.GeoImage.LoadFile(String filename) +16
            
 
            [TargetInvocationException: Exception has been thrown by the target of an invocation.]
               System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
               System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +71
               System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +261
               System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
               ThinkGeo.MapSuite.Core.xbde0958acd0fe179.LoadFile(String filePathName) +50
               ThinkGeo.MapSuite.Core.EcwRasterSource.OpenCore() +48
               ThinkGeo.MapSuite.Core.RasterSource.Open() +37
               ThinkGeo.MapSuite.Core.RasterLayer.OpenCore() +12
               ThinkGeo.MapSuite.Core.Layer.Open() +27
               Honeywell.RVS.WebClientHost.Home.Page_Load(Object sender, EventArgs e) in D:\SVN\HBS_RVSWebClient\trunk\SourceCode\Production\MESFramework\Core.Web\Home.aspx.cs:70
               System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
               System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
               System.Web.UI.Control.OnLoad(EventArgs e) +99
               System.Web.UI.Control.LoadRecursive() +50
               System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
            
        
    

 


 
 
 

Thanks,

Srikar.



 


Hi sirkar,
Welcome to Map Suite Discussion Forum. Thanks for your detailed information. I think the error is caused by missing DLLs in the system32 folder, such as “MapSuiteEcw.dll”, on your deployment machine. There are three options that we can resolve the problem:
1.       Please install the “MapSuiteSilverlightEditionServer” on the machine if you have purchased.
2.        The simplest way is copying the “Map Suite 4.0” folder at “Developer Reference\System32\System32” to “Windows\System32” folder.
3.       Install the SilverlightEdition product on the machine to resolve the issue.
Sorry for the inconvenience. And any questions please let us know.
 
Thanks,
Johnny

Hi Johnny, 
  
 Thanks for the quick response. 
  
 I have one Map Suite Silverlight developer license which is installed on my laptop and I use this laptop to develop my application. To test my application on various platforms which don’t have Visual Studio or other developer tools  installed, I need to try deployment on test machines running Win XP, Win 2008, Win 2003 etc. The full version of MapSuite shouldn’t be required or installed on test machines as they are not development machines. So, I copied the following files to system32 folder of my test machine: 
 NCSUtil.dll 
 NCSEcw.dll 
 NCScnet.dll 
 MapSuiteMrSidsX86.dll 
 MapSuiteGeoRasterX86.dll 
 MapSuiteEcwX86.dll 
 lti_dsdk_dll.dll 
 Despite having these files from the MapSuite Silverlight Edition (full version) in system32, I am getting this exception while loading the map. Can you please suggest how to resolve this issue as it is hampering the testing of my application. 
  
 Thanks, 
 Srikar

srikar,


Yes, as you have mentioned, if you just want to try the deployment on different machines, we don’t need to install the product on the server again. Without the deployment license, all should works except the watermarker.
Just as I have mentioned, I strongly suggest you copy “MapSuite4.0” folder including all the DLLs to system32 on X86 machine or SystemWow64 on X64 machine. Please don’t change the structure of the folder “MapSuite4.0”.
Thanks,
Johnny  

Hi, Johnny, 
  
 I have followed below steps.  But still i am getting the same error on my deployment machine.  
  
 1) I have installed Map Suite Silver light Full Edition 3.0 on my system (developer system). 
 2) Copied all dlls present in (Map Suite Silver light Full Edition 3.0\Developer Reference\System32\System32) to c:\windows\system32 folder on deployment machine. 
 3) Reset the iis and browsed my application,  I am getting the same exception while loading the map. 
  
 Please let me know how to resolve this issue. 
  
 Thanks, 
 Srikar. 


Hi srikar,


The exceptions “A procedure imported by {myassembly} could not be loaded” is caused by the referenced DLL not found. In this scenario, the “MapSuiteEcwx86” not found. To make sure you did copy the same structure of System32, please refer to the picture below:
 
Additionally, do you use the any cache in your application? Please clear the cached images before test.
Thanks,
Johnny

Hi Johnny, 



1) I have installed Map Suite Silver light Full Edition 3.0 on my machine. 

2) Copied the specified dlls in C:\WINDOWS\system32 folder (referred in the screen shot). 

3) Tested my application on the same machine still i am getting same exception. 



This issue is hampering my application testing so I need to fix this issue as soon as possible. If possible, can we have a telecon to resolve this issue? 



Thanks, 

Srikar. 

 



 


Hi Johnny,
 
I have developed an application only with ThinkGio silver light map control to localize the problem. On my development machine map is loaded properly. But when I deploy the application on IIS it is throwing exception while loading map. Please refer the attached exception screen shot.
 
My system configuration:
1) Windows XP 2002 OS.
2) IIS 5.1.
3) Installed Map Suite Silver light Full Edition 3.0 .
4) I have copied all required dlls to the c:\windows\system32 folder (refer attachment).
 
It is critical issue for us as we are unable to deploy our application so please look into the issue. Please refer attached files for more details.
 
If application is deployed on IIS, below exception thrown while map is loading.


C:\Windows\System32 folder structure,




MapTestFiles.zip (8.09 KB)

 


Hi,
From your sample code, I know you load the ECW file images with ECWRasterLayer, which requires the “MapSuiteGeoRasterX86.dll in the “C:\WINDOWS\system32\MapSuiteGeoRasterX86” ” or “MapSuiteGeoRasterX64.dll”  in “C:\WINDOWS\system32\MapSuiteGeoRasterX64”  . That’s why I required you to copy all the DLLs in installation folder “Syste32” to “C:\WINDOWS\system32”.  Additionally, it seems that you didn’t use the ServerCache, but it you still need to clear the Browser Silverlight Cache before rebuilding.
 
Can you try installing another product “MapSuite Desktop Evaluation Edition” on your deployment machine? And run “”LoadAnEcwImage” in the “CS Winforms HowDoISamples/Satellite image” folder. It’s a sample which also requires the “MapSuiteGeoRasterX86.dll” or “MapSuiteGeoRasterX64.dll”.
 
If still any questions, you can contact support@thinkgeo.com or call our support. I think they can give you an immediate response or have a GoToMeeting with you.
 
Thanks,
 
Johnny

 


Hi Johnny,
 
Thank you for your response.  As I have mentioned earlier post, that I am facing the same issue even after coping the MapSuiteGeoRasterX86” ” or “MapSuiteGeoRasterX64.dll” to C:\WINDOWS\system32. Please check the attached screen shot of C:\WINDOWS\system32 folder structure in the last post.
 
The Map Suite throws an exception and fails to load the maps. This behavior is random; it works on some XP machines while fails on others. Although all machines configuration is same.
 
We need to have a GoToMeeting with you to find out the root cause and fix it. Our working hours are GMT +5:30. Please let me know when we can have GoToMeeting.
 
Thanks,
Srikar.
 

 srikar,


I’m sorry that I’m on vacation now and hard to get a GoToMeeting with you before October 8th. Can you send the requirement to support@thinkgeo.com, i think they can help you online today. I’m gonna give a message to them about this later. Sorry for the inconvenience.
Thanks,
Johnny  

 



Srikar,  
  
 If you are deploying the same application and dlls to these machines and only some of them have the issue then there must be a difference in the machines’ configuration. 
  
 The reason you are getting the exception from the local IIS server is that you do not have a Silverlight Production Server License installed. To properly test your application on each machine you will need to access the same IIS server, one that has a Server License installed. 
  
 Here are the items I see that are correct: 
 1. Your System32 dlls and folders are in the correct location. 
 2. You have the proper pre-requisites installed. 
  
 Items that need to be changed: 
 1. You need to be accessing a centralized IIS server that has a Silverlight Prodution Server License installed. You will not be able to accurately test your application by running it within each machine’s Local IIS server. 
 2. Clear out your browser cache. 


Thanks for the reply. please confirm my understanding and answer the below questions: 
  
 1. You are suggesting that I can’t test the application deployed unless I buy a Silverlight Production Server License, right? So, if I want to test deployment on one Win XP, 2K3 and 2K8 servers each in parallel, do I need to purchase 3 Silverlight Production Server Licenses because each will deploy the app under its own IIS? 
  
 2. If this is the case, why does this work when I deploy on some other test machines which don’t have the Production Server License? 
  
 3. And do I need the Production Server License on my development laptop also? Because here as well, I can debug the application if I debug it by hosting in Visual Studio 2008 but I can’t test it if I deploy it on IIS on the same laptop. 
  
 4. Don’t you have a test license for these needs? 
  
 Based on your answers, let’s have a call so that we can go ahead and discuss the licensing model needed to continue our development. A quick reply will help us proceed with our dev faster.

srikar,  
  
 I think the solution to this issue is utilizing the Map Suite Silverlight Server Prep Tool. This tool will allow you to test your application without requiring the purchase of a Production Server License. You can download this Prep Tool from the My Downloads section of the Customer Portal. When you run this tool you will have the option of installing on a Test/Development Environment or a Production Environment. If you use the Test/Development option a watermark will be displayed on the map but it will behave just as it if you installed with a Production Server License. This tool will also handle installing the proper dlls in the system32/syswow64 folder as it determines if the environment is 32 or 64-bit for you.

Hi,


I have check product list in the below url but i could not find any product like " Map Suite Silverlight Server Prep Tool".


URL : gis.thinkgeo.com/Products/Ma...fault.aspx


Please specify the url in your reply so that i can download and test my application.


Thanks,


Srikar.



Srikar, 
  
   As Ryan mentioned the download is in the Customer Portal, it is a site that allows you to enter support tickets and has the latest patches etc.  When you log into the Customer Portal using the login and password you use for the main ThinkGeo.com website you need to go to the ‘Downloads’ section.  If you need additional help then I am sure Ryan can help you. 
  
 helpdesk.thinkgeo.com/helpdesk/login.aspx 
  
 David

Hi David,


I have installed the MapSuiteSilverlightEditionServerPrep4.0 on my machine and deployed my application on local iis. I am still get the same exception.


We are unable to test our application due to this issue. So please let me know when can we have telecon/GoToMeeting with you to fix the issue?


 


Thanks,


Srikar.



Hi Srikar, 
  
 Can you email to support@thinkgeo.com with the requirements. I think they can have a GoToMeeting with you in an efficient way. 
  
 Thanks, 
 Johnny