[mapguide-users] Re: 64-bit woes
jrizzo at Langan.com
Wed Jan 11 10:58:38 EST 2012
The missing piece was that I needed to install the 32 bit version of mapguide on my 64 bit Windows 7 development machine (thanks Pietro!). In hindsight, I think all of the information that I needed was available in other threads, but it wasn't obvious to me how to put the pieces together. The problem is that visual studio (and the integrated web server) are 32 bit applications, but I had the 64 bit version of MapGuide installed. What I was observing was that I could only COMPILE the site using the 32 bit dlls and I could only RUN the site using the 64 bit dlls. Perhaps this is mentioned somewhere, but I will try to summarize all of the "gotchas" here for future readers:
- You must install the 32 bit version of MapGuide on a 64 bit Windows 7 development machine. You can install the 64 bit 64 bit version of MapGuide on your servers if you want, but development machines must use 32 bit MapGuide because of visual studio.
- After installing MapGuide, go to IIS manager, click on Application Pools. Right click on the MapGuideAppPool (or whatever you called it). Bring up the advanced settings. Set "Enable 32-bit Applications" to True.
- Double check that the web.config of your application has the correct path to the webconfig.ini file. The development machine will likely use C:\Program Files (x86) whereas production machines will likely use C:\Program Files
- Make sure that the virtual directory for your site is using the MapGuideAppPool (or whatever you called the application pool).
- On my machine, the MapGuide installer did not properly configure the application settings for the 'mapviewernet' virtual directory. I had to convert the folder to an application and create an application and set it to use MapGuideAppPool. This tripped me up (as did the application pool) when I uninstalled the 64 bit version and installed the 32 bit version, as it retained the 64-bit path. I had to fix the physical path to this folder.
I think that's it. Note: my application was originally developed in 2008. I haven't tried visual studio 2010 yet. That's next...
Thanks to everyone who replied,
From: mapguide-users-bounces at lists.osgeo.org [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Hans Milling
Sent: Wednesday, January 11, 2012 10:02 AM
To: mapguide-users at lists.osgeo.org
Subject: [mapguide-users] Re: 64-bit woes
I think the problems relate to another dll (third party perhaps) that is 32 bit. If the DLL is compiled as AnyCPU it will launch as a 32 bit on a 32 bit machine and if launched from a 64 bit process on a 64 bit machine it will run as 64 bit. Then loading the 32 bit DLL that it depends on will fail on the 64 bit machine.
You can perhaps use dependency walker to detect the DLL unable to be loaded and replace it by a 64 bit version? Dependency walker will also tell the bitness of each dll (x86 or x64). You should be able to see a mismatch somewhere then.
View this message in context: http://osgeo-org.1803224.n2.nabble.com/64-bit-woes-tp7122196p7176484.html
Sent from the MapGuide Users mailing list archive at Nabble.com.
mapguide-users mailing list
mapguide-users at lists.osgeo.org
This electronic transmission may contain confidential, proprietary or privileged information. No confidentiality or privilege is intended to be waived or lost by erroneous transmission of this message. If you receive this message in error, please notify the sender immediately by return email and delete this message from your system. Disclosure, use, distribution or copying of this message, any attachments thereto or their contents is strictly prohibited.
More information about the mapguide-users