ThinkGeo.com    |     Documentation    |     Premium Support

Google Map - ProjectonExtensionX86.dll could not find

I prepared a test page on a remote server.


If I use ThinkGeo's test map, it gives me perfect result. But if i change my map type to Google it gives me  "System.IO.FileNotFoundException: Could not find ProjectonExtensionX86.dll assembly". I use a conversion for my gps data to show in google maps.


What i have to do to resolve this problem? I found Proj4ExtensionX86.dll in system32.zip file. Also im using evaluation copy of ThinkGeo.



Tolga, 
  
 You need to unzip system32.zip to your C:\Windows\System32 folder. 
  
 I think that machine installed the previous version and when the new release is out, you just grab the dll instead of reinstalling the new version. That makes the assemblies under System32 folder not updated. 
  
 Thanks, 
  
 Ben 


Thanks Ben

You are welcome:)

Also, note that the DLL has "Projection" mis-spelled...




I had references to the two DLLs (DesktopEdition and MapSuiteCore), both marked as Copy Local = true


When I took the executable and associated DLLs and gave them to a user to run, they got the following error:



System.IO.FileNotFoundException: Could not find ProjectonExtensionX86.dll assembly.

at ThinkGeo.MapSuite.Core.Proj4Projection.OpenCore()

at ThinkGeo.MapSuite.Core.Projection.Open()

at ThinkGeo.MapSuite.DesktopEdition.GoogleMapsOverlay..ctor(String licenseKey, String cacheDirectory)

at GoogleMaps.GoogleMapForm.GoogleMapForm_Load(Object sender, EventArgs e)


After copying "C:\WINDOWS\system32\Proj4ExtensionX86.dll" to the directory, I get this error:




System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.DllNotFoundException: Unable to load DLL 'MapSuiteProjectionX86.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

at Proj4Extension.Proj4Extensionx86.pj_init(Int32 argc, String[] args)

at Proj4Extension.Proj4Extensionx86.Init(Int32 argc, String[] args)


So I copy "C:\WINDOWS\system32\MapSuiteProjectionX86.dll" to the directory, and it finally runs.


Shouldn't these be included automatically?


Thanks.

Charley.

 



Charley, 
  
 Yes, you need to copy the Proj4ExtensionX86.dll and MapSuiteProjectionX86.dll to the same folder and then send it to user. That’s because Proj4ExtensionX86.dll is not a managed assembly and we cannot use it by directly reference, when using MapSuite in an application, these 2 dlls cannot be automatically added to the bin folder as dependent assemblies. 
  
 Besides projection dlls, there are some other kinds of dll like MrSids, Tiff which should also be included manually in a deployment because of the same reason. 
  
 Thanks, 
  
 Ben