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,
Jon
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Hans Milling
Sent: Wednesday, January 11, 2012 10:02 AM
To: [email protected]
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.
Best regards
Hans Milling...
--
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
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapguide-users
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.
_______________________________________________
mapguide-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapguide-users