DLL Errors on a 64 Bit OSGeo Implementation

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

DLL Errors on a 64 Bit OSGeo Implementation

soudemans
Hi,

If this looks familiar I apologize in advance.  I have been all over the internet with this issue for the past 3 - 4 weeks, and though I am making progress the going has been painfully slow.  We are running OSGEO 64 bit on a virtual Windows 2008 R2 server with Visual Studio Pro 2010 and MagGuide Studio V 2.2.0.6301 and we are migrating an existing MapGuide website (from a 32 bit box) to this new server.  To sum it up I am having .dll problems.  I had a bare bones application running and all I had to do was add the missing web forms.  The original application was written in C#, We added new functionality in VB.NET.  Consequently the login.aspx page is in C# and the Default.aspx was in VB.NET.  I figured it might be best to translate the Login page to eliminate that variable from the equation.

It is when I add a new web form to the project that all hell breaks loose, and my VS error window lights up like a Christmas tree.  I get the following messages and since the message is the same I will give that once and then list the affected .DLLs:
"Unable to load referenced library '<file>.dll': An attempt was made to load a program with an incorrect format."
- ACE.dll
- FoundationUnmanagedApi.dll
- GeometryUnmanagedApi.dll
- GEOS.dll
- lib_json.dll
- MapGuideCommonUnmanagedApi.dll
- MgMapGuideCommon.dll
- MgHttpHandler.dll
- MgFoundation.dll
- MgGeometry.dll
- MgMdfModel.dll
- MgMdfParser.dll
- MgPlatformBase.dll
- MgWebApp.dll
- PlatformBaseUnmanagedApi.dll
- webUnmanagedApi.dll
- xerces-c_2_7.dll

I also got the following:
"C:<path>\WebForm1.aspx: ASP.NET runtime error: Could not load file or assembly 'MapGuideDotNetApi' or one of its dependencies. An attempt was made to load a program with an incorrect format."

Then I checked each of the DLLs using Dependency Walker and found that there are three systems DLLs missing.  I'll list them with their corresponding messages:
"Error: At least one required implicit or forwarded dependency was not found
- IESHIMS.DLL
- MSVCR90.DLL
"Warning: At least one delay-load dependency was not found"
"Warning: At least one module has an unresolved import due to a missing function in a delay-load dependent module"

- IEFFRAME.DLL
- SHLWAPI.DLL

Also we (I did have some help) tried signing the assemblies according to Jackie's Blog (See http://themapguyde.blogspot.com/2010/10/using-maestro-in-native-mode-with.html but we could not get that to work.

A final note: I am afraid that this is so far over my head that if you give me generalities I will remain eternally lost.  If you have the answer or suggestions, please be specific with your instructions or point me in the direction of some good documentation.  Thanks so much for your help and consideration.
Reply | Threaded
Open this post in threaded view
|

Re: DLL Errors on a 64 Bit OSGeo Implementation

Crispin_at_Linknode
Reply | Threaded
Open this post in threaded view
|

Re: DLL Errors on a 64 Bit OSGeo Implementation

Hans Milling
In reply to this post by soudemans
Signing the DLL files are important if you use Local Native connections.
If you need help, this application will sign the dll files for you:
http://svn.osgeo.org/mapguide/trunk/Tools/Maestro/SignMapGuideApi/
Compile the code (console application) put the exe in a directory with the dll files and the maestroapi.key file and run it.

Best regards Hans Milling...
Reply | Threaded
Open this post in threaded view
|

Re: DLL Errors on a 64 Bit OSGeo Implementation

soudemans
This post was updated on .
In reply to this post by Crispin_at_Linknode
Crispin,

Thanks, I had not seen those updates yet.  For some reason I am not getting notices for updates.  Having said that it looks like the verdict is still out on your suggestion, being that Jon tried it and could not get it to work.  Add to that that for us development is done on the server and the suggestion to separate the 32 from the 64 bit installation is a little more challenging.  I will go talk to the powers at be and see if we can implement these ideas.  I will keep you posted

Crispin_at_Linknode wrote
Reply | Threaded
Open this post in threaded view
|

Re: DLL Errors on a 64 Bit OSGeo Implementation

soudemans
OK,

I think we have this part resolved.  In the end we ended up asking why we needed the 64bit application, and as it turned out we didn't.  From what I understand, having a 64 bit mapguide server is great when you have thousands of users, something we will, in all, likely hood never have to deal with.  Thus it was decided that we install the 32bit version of OSGeo on the 64 bit Windows server.  All the DLL problems we experienced earlier vanished like snow for the sun.  (Knock on wood)

Thanks for your input, and I am slightly disappointed I wasn't able to implement such a complicated work-around.  Ok, maybe not so much