Index: release-kits/wirk3/ant-scripts/create-installer.xml
===================================================================
--- release-kits/wirk3/ant-scripts/create-installer.xml	(revision 16813)
+++ release-kits/wirk3/ant-scripts/create-installer.xml	(revision 16930)
@@ -17,4 +17,5 @@
 			<fileset dir="${wirk3.home}/greenstone3/installer-classes"/>
 			<fileset dir="${wirk3.home}/ant-scripts/tasks/orans" includes="RegexSearchReplace.class" />
+			<fileset dir="${wirk3.home}/ant-scripts/tasks/orans" includes="GetFreePath.class" />
 		</copy>
 	</target>
Index: release-kits/wirk3/installer/build.xml
===================================================================
--- release-kits/wirk3/installer/build.xml	(revision 16813)
+++ release-kits/wirk3/installer/build.xml	(revision 16930)
@@ -15,4 +15,5 @@
 	<!-- custom tasks -->
 	<typedef name="rsr" classname="RegexSearchReplace" classpathref="project.classpath"/>
+	<typedef name="getfreepath" classname="GetFreePath" classpathref="project.classpath"/>
 	<taskdef name="shortcut" classname="com.orangevolt.tools.ant.Win32ShortcutTask" classpathref="project.classpath"/> 
 	<taskdef name="winprops" classname="com.orangevolt.tools.ant.Win32PropertiesTask" classpathref="project.classpath"/> 
@@ -26,7 +27,13 @@
 	<!-- load windows properties -->
 	<winprops/>
+
+	<!-- determine if there is an existing installation in the installDir-->
+	<available file="${installDir}\installation.properties" property="is.overinstall"/>
+
+	<target name="load-previous-props" if="is.overinstall">
+		<property file="${installDir}\installation.properties"/>
+	</target>
 	
-	
-	<target name="install-core-components">
+	<target name="install-core-components" depends="load-previous-props">
 
 		<!-- create the installation directory -->
@@ -53,4 +60,5 @@
 				<include name="greenstone3-build.xml"/>
 				<include name="build.properties"/>
+				<include name="installation.properties"/>
 				<include name="gs3-server.bat"/>
 				<include name="gs3-setup.bat"/>
@@ -133,8 +141,11 @@
 	<target name="install-start-menu-shortcuts">
 
-		<mkdir dir="${win32.personal.programs_menu}\Greenstone-@version@\Documentation"/>
+		<!-- figure out the start menu path (if not already set from previous installation) -->
+		<getfreepath path="${win32.personal.programs_menu}\Greenstone-@version@" property="startmenu.path"/>
+		
+		<mkdir dir="${startmenu.path}\Documentation"/>
 		
 		<shortcut
-			file="${win32.personal.programs_menu}\Greenstone-@version@\Greenstone3 Server.lnk"
+			file="${startmenu.path}\Greenstone3 Server.lnk"
 			execute="${installDir}\gs3-server.bat"
 			workingDirectory="${installDir}"
@@ -143,5 +154,5 @@
 
 		<shortcut
-			file="${win32.personal.programs_menu}\Greenstone-@version@\Greenstone Librarian Interface (GLI).lnk"
+			file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
 			execute="${installDir}\gli\gli.bat"
 			workingDirectory="${installDir}\gli"
@@ -150,22 +161,23 @@
 			
 		<shortcut
-			file="${win32.personal.programs_menu}\Greenstone-@version@\Greenstone Editor for Metadata Sets (GEMS).lnk"
+			file="${startmenu.path}\Greenstone Editor for Metadata Sets (GEMS).lnk"
 			execute="${installDir}\gli\gems4gs3.bat"
 			workingDirectory="${installDir}\gli"
 			iconFile="${installDir}\resources\images\gs3.ico"
 			iconIndex="0" />
-
+		
 		<shortcut
-			file="${win32.personal.programs_menu}\Greenstone-@version@\Documentation\README.lnk"
+			file="${startmenu.path}\Documentation\README.lnk"
 			execute="${installDir}\README.txt" />
-
+		
 		<shortcut
-			file="${win32.personal.programs_menu}\Greenstone-@version@\Documentation\Greenstone3 Users' Guide.lnk"
+			file="${startmenu.path}\Documentation\Greenstone3 Users' Guide.lnk"
 			execute="${installDir}\documentation\manual\manual.pdf" />
-
+		
 		<shortcut
-			file="${win32.personal.programs_menu}\Greenstone-@version@\Documentation\Greenstone2 Users' Guide.lnk"
+			file="${startmenu.path}\Documentation\Greenstone2 Users' Guide.lnk"
 			execute="${installDir}\documentation\manual\gs2_user_en.pdf" />
-
+		
+		<rsr file="${installDir}\installation.properties" pattern="@startmenu.path@" replacement="${startmenu.path}" winPath="true"/>
 			
 	</target>
Index: release-kits/wirk3/src/wirk3.cpp
===================================================================
--- release-kits/wirk3/src/wirk3.cpp	(revision 16813)
+++ release-kits/wirk3/src/wirk3.cpp	(revision 16930)
@@ -44,4 +44,5 @@
 	//pass on the arguments
 	string a;
+	bool simMode = false;
 	for ( int i=0; i < argc; i++ ) {
 		a = argv[i];
@@ -50,13 +51,19 @@
 			//show_help();
 			return 0;
-		
 		} else if ( a.compare("-cp") == 0) {
 			cout << classpath;
 			return 0;
-
+		} else if ( a.compare("-sim") == 0) {
+			command = command + " " + a;
+			simMode = true;
 		} else {
 			command = command + " " + a;
 		}
 
+	}
+
+	//create directories
+	if ( !simMode ) {
+		system( "IF NOT EXIST installer\\classes MKDIR installer\\classes" );
 	}
 
