Index: AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 662)
+++ AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 663)
@@ -1,2 +1,2 @@
 appname=AE Installer 2
-appversion=0.99m
+appversion=0.99n
Index: AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 662)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 663)
@@ -208,10 +208,4 @@
 	public static void install(TreeSet<Package> mods,
 			InstallProgressListener listener) {
-		try {
-			createEmptyPath(Paths.getEditionGDF());
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-
 		File logFile = new File(Paths.getInstallerPath(), "Installation.log");
 		PrintWriter log = null;
@@ -226,5 +220,6 @@
 
 		log.println();
-		log.println("AEI2 version: " + SwingJavaBuilder.getConfig().getResource("appversion"));
+		log.println("AEI2 version: "
+				+ SwingJavaBuilder.getConfig().getResource("appversion"));
 		log.println("Installed tools:");
 		for (Package t : PackageManager.getInstance().getInstalledTools()) {
@@ -236,4 +231,39 @@
 		}
 		log.println();
+
+		Paths.getEditionGDF().mkdirs();
+		for (File f : Paths.getEditionGDF().listFiles(new FilenameFilter() {
+			public boolean accept(File arg0, String arg1) {
+				String s = arg1.toLowerCase();
+				return s.endsWith(".dat")
+						|| s.endsWith(".raw")
+						|| s.endsWith(".sep")
+						|| (s.equals("intro.bik") && !Settings.getInstance()
+								.get("copyintro", false))
+						|| (s.equals("outro.bik") && !Settings.getInstance()
+								.get("copyoutro", false));
+			}
+		})) {
+			f.delete();
+		}
+		File IGMD = new File(Paths.getEditionGDF(), "IGMD");
+		if (IGMD.exists()) {
+			for (File f : IGMD.listFiles(new FileFilter() {
+				@Override
+				public boolean accept(File pathname) {
+					return pathname.isDirectory();
+				}
+			})) {
+				File ignore = new File(f, "ignore.txt");
+				if (!ignore.exists()) {
+					try {
+						FileUtils.deleteDirectory(f);
+					} catch (IOException e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				}
+			}
+		}
 
 		File installCfg = new File(Paths.getEditionGDF(), "installed_mods.xml");
@@ -267,5 +297,5 @@
 			}
 		}
-		
+
 		combineBinaryFiles(foldersOni, listener, log);
 		combineBSLFolders(mods, listener, log);
@@ -370,11 +400,13 @@
 			if (!targetPath.exists())
 				targetPath.mkdir();
-			for (File fbsl : f.listFiles()) {
-				File targetFile = new File(targetPath, fbsl.getName());
-				if (addon || !targetFile.exists()) {
-					try {
-						FileUtils.copyFile(fbsl, targetFile);
-					} catch (IOException e) {
-						e.printStackTrace();
+			if (!(new File(targetPath, "ignore.txt").exists())) {
+				for (File fbsl : f.listFiles()) {
+					File targetFile = new File(targetPath, fbsl.getName());
+					if (addon || !targetFile.exists()) {
+						try {
+							FileUtils.copyFile(fbsl, targetFile);
+						} catch (IOException e) {
+							e.printStackTrace();
+						}
 					}
 				}
