= Building Guide on Windows XP/7 = this guide is the non-programming-language version of build.bat or build64.bat. If you are reading this document, I assume you know what you are going to do. == Environment Setup == 1. Install Microsoft Visual Studio 9.0.21 Standard Version. This version has a fatal bug, you may want to get SP or higher version. 2. Checkout the source from Subversion to, for example, C:\ {{{ cd c:\ svn checkout http://svn.osgeo.org/mapguide/branches/2.2/MgDev mgdev OR svn export http://svn.osgeo.org/mapguide/branches/2.2/MgDev mgdev }}} 3. Download FDO 3.5 CR1 SDK tarball from [http://fdo.osgeo.org/content/downloads/ Here] to ''C:\mgdev\Oem\FDO\'' created in previous step. {{{ cd C:\mgdev\Oem\FDO tar xvvf cd Bin mkdir Release }}} Move all contents under Bin to Release folder. The structure of fdo should be like this: {{{ C:\mgdev\Oem\FDO\Bin\Release C:\mgdev\Oem\FDO\Inc C:\mgdev\Oem\FDO\Lib }}} '''Note: if you are working on a 64-bit windows machine and download the 64-bit FDO SDK, rename folder ''Release'' into ''Release64'' and ''Lib'' into ''Lib64'' ''' 4. Install the following dependencies. * JAVA SDK 1.6 * ANT 1.7 or above * Apache HTTP Server or Tomcat or IIS 7.5 * PHP 5.3.3 {{{ JAVA_HOME ANT_HOME }}} == Build Process == 1. Build OEM tree * Launch Microsoft Visual Studio * File->Open->!Project/Solution and browse to ''oem.sln'' and click Ok. this will open all 35 Oem projects in Visual Studio * In Solution Explorer tree, select Solution 'oem', then click Build->Build Solution, build process will start and should be successful. 2. Build CSMap. Though CSMap is under folder Oem, it is a totally different project from other Oem projects, and it should be built seperately * File->Open->!Project/Solution and browse to ''!Oem/CsMap/OpenSource.sln'', click Ok to open !CsMap project in Visual Studio * In Solution Explorer tree, select Solution ''!OpenSource'', then click Build->Build Solution, build process will start and should be successful. 3. Build !MapGuide Server * File->Open->!Project/Solution and browse to ''c:\mgdev\Server\server.sln'', click Ok to open 29 server projects in Visual Studio * In Solution Explorer tree, select Solution ''Server'', then click Build->Build Solution, build process will start and should be successful. 4. Build Web Extension (i.e !MapGuide Web Application), which will later be deployed to Apache HTTP Server or any web server of your choice. The output of this building process is a file "mod_mgmapagent.so" * File->Open->!Project/Solution and browse to ''c:\mgdev\Web\src\!WebTier.sln'', click Ok to open 30 web extension projects in Visual Studio * In Solution Explorer tree, select Solution ''Web Tier'', then click Build->Build Solution, build process will start and should be successful. '''''Note: In Visual Studio, before each build process, make sure the configuration for these 4 build processes are consistent, i.e Release and Win32 are recommende for 32-bit windows machine, Release and x64 for 64-bit windows machine. ''''' == Install !MapGuide Server and !MapGuide Web Application == You don't have to follow below instructions to install !MapGuide Server and !MapGuide Web Application, the installation of these two components are just moving and organizing files around, nothing fancy, which can be seen from "build.bat". After successful building, !MapGuide Server should be able to brought up and running from where it is built, i.e. bin folder, though you still need to configure web server to access the mapviewer from a browser, which requires the advanced knowledge of the entire project. Apache and PHP must be installed before the web component of !MapGuide can be installed. The process of installing !MapGuide's web component is to copy mod_mgmapagent.so and other !MapGuide libraries to Apache modules and PHP extensions. 1. On 32-bit windows machine {{{ cd c:\mgdev build.bat -o=c:\mapguideopensource-2.2 -a=install -w=server build.bat -o=c:\mapguideopensource-2.2 -a=install -w=web }}} 2. On 64-bit windows machine {{{ cd c:\mgdev build64.bat -o=c:\mapguideopensource-2.2 -a=install -w=server build64.bat -o=c:\mapguideopensource-2.2 -a=install -w=web }}} your final installation should look like: {{{ c:\mapguideopensource-2.2\Server c:\mapguideopensource-2.2\Web\www c:\mapguideopensource-2.2\CS-Map }}} '''''Note 1: these two batch files might be out-of-date, if you are working on trunk code, the chances are bugs or issues might be introduced by developers, so look into the file with a text editor to see what it does to decide how to use or edit it to install mapguide server in your system.''''' == Testing Installation == 1. Create a environment variable MENTOR_DICTIONARY_PATH, which points to \Dictionaries 2. Start !MapGuide Server {{{ cd mgserver.exe run }}} 3. [wiki:ConfigureGuide22Windows Configure and Start Web Extensions] 4. Open a browser to !http://localhost:8008/mapguide/phpviewersample/ajaxviewersample.php == Troubleshooting == * Most of the problems during building are path issues. in Visual Studio, right click a project name from the project explorer tree, open properties windows, check links, dependencies, libraries for clues * mgserver throws an error '''mg_resources.res, locale "en" can not be found''': caused by the wrong values of path properties in ''webconfig.ini'' and ''serverconfig.ini''.