Index: AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 608)
@@ -1,4 +1,4 @@
 appname=AE Installer 2
-appversion=0.71
+appversion=0.75
 
 invalidPath.title=Wrong directory
Index: AE/installer2/src/net/oni2/aeinstaller/Images.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/Images.properties	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/Images.properties	(revision 608)
@@ -27,4 +27,5 @@
 img.tools=/net/oni2/aeinstaller/images/open_icon_library/tools-hammer_and_nails.png
 img.install=/net/oni2/aeinstaller/images/open_icon_library/run-build-install-root.png
+img.folder=/net/oni2/aeinstaller/images/open_icon_library/folder-open-3.png
 
 img.ae=/net/oni2/aeinstaller/images/AElogo.png
Index: AE/installer2/src/net/oni2/aeinstaller/backend/mods/EBSLInstallType.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/mods/EBSLInstallType.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/mods/EBSLInstallType.java	(revision 608)
@@ -5,8 +5,4 @@
  */
 public enum EBSLInstallType {
-	/**
-	 * No BSL files
-	 */
-	NONE,
 	/**
 	 * Normal BSL install mode
Index: AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/mods/Mod.java	(revision 608)
@@ -29,5 +29,5 @@
 	private String version = "";
 	private String creator = "";
-	private EBSLInstallType bslInstallType = null;
+	private EBSLInstallType bslInstallType = EBSLInstallType.NORMAL;
 	private String description = "";
 	private double aeVersion = 0;
@@ -36,5 +36,5 @@
 	private net.oni2.aeinstaller.backend.depot.model.File file = null;
 
-	private HashSet<Integer> conflicts = new HashSet<Integer>();
+	private HashSet<Integer> incompatibilities = new HashSet<Integer>();
 	private HashSet<Integer> dependencies = new HashSet<Integer>();
 
@@ -51,11 +51,11 @@
 		name = nm.getTitle();
 		packageNumber = nm.getPackageNumber();
+		platform = nm.getPlatform();
 		for (TaxonomyTerm tt : nm.getTypes()) {
 			Type t = ModManager.getInstance().getTypeByName(tt.getName());
 			types.add(t);
-			if (!nm.isTool())
+			if (!nm.isTool() && isValidOnPlatform())
 				t.addEntry(this);
 		}
-		platform = nm.getPlatform();
 		version = nm.getVersion();
 		creator = nm.getCreator();
@@ -101,8 +101,4 @@
 						if (sVal.equalsIgnoreCase("addon"))
 							bslInstallType = EBSLInstallType.ADDON;
-						else if (sVal.equalsIgnoreCase("yes"))
-							bslInstallType = EBSLInstallType.NORMAL;
-						else
-							bslInstallType = EBSLInstallType.NONE;
 					} else if (sName.equalsIgnoreCase("ModVersion")) {
 						if (node == null)
@@ -111,5 +107,5 @@
 						if (node == null)
 							description = sVal.replaceAll("\\\\n", "<br>");
-					} else if (sName.equalsIgnoreCase("Depends")) {
+					} else if (sName.equalsIgnoreCase("DependsOn")) {
 						String[] depsS = sVal.split(",");
 						for (String s : depsS) {
@@ -123,13 +119,13 @@
 							}
 						}
-					} else if (sName.equalsIgnoreCase("Conflicts")) {
+					} else if (sName.equalsIgnoreCase("IncompatibleWith")) {
 						String[] confS = sVal.split(",");
 						for (String s : confS) {
 							try {
 								int conf = Integer.parseInt(s);
-								conflicts.add(conf);
+								incompatibilities.add(conf);
 							} catch (NumberFormatException e) {
 								System.err
-										.format("Mod %05d does contain a non-number dependency: '%s'\n",
+										.format("Mod %05d does contain a non-number incompatibility: '%s'\n",
 												packageNumber, s);
 							}
@@ -182,8 +178,4 @@
 		updateLocalData();
 
-		Type t = ModManager.getInstance().getTypeByName("-Local-");
-		types.add(t);
-		t.addEntry(this);
-
 		platform = ECompatiblePlatform.BOTH;
 	}
@@ -323,8 +315,8 @@
 
 	/**
-	 * @return the conflicts
-	 */
-	public HashSet<Integer> getConflicts() {
-		return conflicts;
+	 * @return the incompabitilities
+	 */
+	public HashSet<Integer> getIncompabitilities() {
+		return incompatibilities;
 	}
 
@@ -339,7 +331,6 @@
 	 * @return Is this mod valid on the running platform?
 	 */
-	public boolean validOnPlatform() {
-		ECompatiblePlatform plat = platform;
-		switch (plat) {
+	public boolean isValidOnPlatform() {
+		switch (platform) {
 			case BOTH:
 				return true;
Index: AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/mods/ModManager.java	(revision 608)
@@ -43,10 +43,12 @@
 		Vector<Integer> res = new Vector<Integer>();
 		try {
-			FileInputStream fis = new FileInputStream(f);
-			XStream xs = new XStream(new StaxDriver());
-			Object obj = xs.fromXML(fis);
-			if (obj instanceof Vector<?>)
-				res = (Vector<Integer>) obj;
-			fis.close();
+			if (f.exists()) {
+				FileInputStream fis = new FileInputStream(f);
+				XStream xs = new XStream(new StaxDriver());
+				Object obj = xs.fromXML(fis);
+				if (obj instanceof Vector<?>)
+					res = (Vector<Integer>) obj;
+				fis.close();
+			}
 		} catch (FileNotFoundException e) {
 			e.printStackTrace();
@@ -87,5 +89,6 @@
 		mods = new HashMap<Integer, Mod>();
 
-		types.put("-Local-", new Type("-Local-", null));
+		Type localType = new Type("-Local-", null);
+		types.put("-Local-", localType);
 
 		for (TaxonomyTerm tt : DepotManager.getInstance()
@@ -120,4 +123,8 @@
 
 		for (Mod m : modFolders.values()) {
+			if (!m.isMandatoryMod()) {
+				localType.addEntry(m);
+				m.getTypes().add(localType);
+			}
 			mods.put(m.getPackageNumber(), m);
 		}
@@ -152,36 +159,44 @@
 
 	/**
-	 * @return Collection of mods
-	 */
-	public Collection<Mod> getMods() {
-		return mods.values();
-	}
-
-	/**
-	 * @return Mods which are always installed
+	 * @return Collection of mods valid on this platform and not mandatory
+	 */
+	public Collection<Mod> getModsValidAndNotMandatory() {
+		Vector<Mod> res = new Vector<Mod>();
+		for (Mod m : mods.values())
+			if (m.isValidOnPlatform() && !m.isMandatoryMod())
+				res.add(m);
+		return res;
+	}
+
+	/**
+	 * @return Mods which are always installed and valid on this platform
 	 */
 	public TreeSet<Mod> getMandatoryMods() {
 		TreeSet<Mod> res = new TreeSet<Mod>();
 		for (Mod m : mods.values()) {
-			if (m.isMandatoryMod())
-				res.add(m);
-		}
-		return res;
-	}
-
-	/**
-	 * @return Collection of tools
+			if (m.isValidOnPlatform() && m.isMandatoryMod())
+				res.add(m);
+		}
+		return res;
+	}
+
+	/**
+	 * @return Collection of tools valid on this platform and not mandatory
 	 */
 	public Collection<Mod> getTools() {
-		return tools.values();
-	}
-
-	/**
-	 * @return Tools which are always installed
+		Vector<Mod> res = new Vector<Mod>();
+		for (Mod m : tools.values())
+			if (m.isValidOnPlatform() && !m.isMandatoryMod())
+				res.add(m);
+		return res;
+	}
+
+	/**
+	 * @return Tools which are always installed and valid on this platform
 	 */
 	public TreeSet<Mod> getMandatoryTools() {
 		TreeSet<Mod> res = new TreeSet<Mod>();
 		for (Mod m : tools.values()) {
-			if (m.isMandatoryMod())
+			if (m.isValidOnPlatform() && m.isMandatoryMod())
 				res.add(m);
 		}
@@ -230,16 +245,16 @@
 
 	/**
-	 * Check for conflicts between given mods
+	 * Check for incompabitilites between given mods
 	 * 
 	 * @param mods
 	 *            Mods to check
-	 * @return Conflicting mods
-	 */
-	public HashMap<Mod, HashSet<Mod>> checkConflicts(TreeSet<Mod> mods) {
+	 * @return Incompatible mods
+	 */
+	public HashMap<Mod, HashSet<Mod>> checkIncompabitilites(TreeSet<Mod> mods) {
 		// TODO: Verify functionality
 		HashMap<Mod, HashSet<Mod>> res = new HashMap<Mod, HashSet<Mod>>();
 
 		for (Mod m : mods) {
-			for (int confNum : m.getConflicts()) {
+			for (int confNum : m.getIncompabitilities()) {
 				Mod other = getModByNumber(confNum);
 				if (mods.contains(other)) {
Index: AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java	(revision 608)
@@ -9,4 +9,5 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Scanner;
@@ -18,4 +19,5 @@
 import net.oni2.aeinstaller.backend.Settings;
 import net.oni2.aeinstaller.backend.Settings.Platform;
+import net.oni2.aeinstaller.backend.mods.EBSLInstallType;
 import net.oni2.aeinstaller.backend.mods.Mod;
 import net.oni2.aeinstaller.backend.mods.ModManager;
@@ -27,4 +29,11 @@
  */
 public class Installer {
+	private static FileFilter dirFileFilter = new FileFilter() {
+		@Override
+		public boolean accept(File pathname) {
+			return pathname.isDirectory();
+		}
+	};
+
 	/**
 	 * @return Is Edition Core initialized
@@ -97,4 +106,5 @@
 		}
 	}
+
 	/**
 	 * Install the given set of mods
@@ -116,6 +126,6 @@
 		ModManager.getInstance().saveModSelection(installCfg, mods);
 
-		Vector<File> folders = new Vector<File>();
-		folders.add(Paths.getVanillaOnisPath());
+		Vector<File> foldersOni = new Vector<File>();
+		foldersOni.add(Paths.getVanillaOnisPath());
 
 		for (Mod m : mods) {
@@ -127,19 +137,114 @@
 					File oniWin = new File(oni, "win_only");
 					if (oniCommon.exists())
-						folders.add(oniCommon);
+						foldersOni.add(oniCommon);
 					if (Settings.getPlatform() == Platform.MACOS
 							&& oniMac.exists())
-						folders.add(oniMac);
+						foldersOni.add(oniMac);
 					else if (oniWin.exists())
-						folders.add(oniWin);
+						foldersOni.add(oniWin);
 				} else {
-					folders.add(oni);
-				}
-			}
-		}
-
-		combineBinaryFiles(folders, listener);
-
-		// TODO: bsl()
+					foldersOni.add(oni);
+				}
+			}
+		}
+		combineBinaryFiles(foldersOni, listener);
+		combineBSLFolders(mods, listener);
+	}
+
+	private static void combineBSLFolders(TreeSet<Mod> mods,
+			InstallProgressListener listener) {
+		listener.installProgressUpdate(95, 100, "Installing BSL files");
+
+		HashMap<EBSLInstallType, Vector<Mod>> modsToInclude = new HashMap<EBSLInstallType, Vector<Mod>>();
+		modsToInclude.put(EBSLInstallType.NORMAL, new Vector<Mod>());
+		modsToInclude.put(EBSLInstallType.ADDON, new Vector<Mod>());
+
+		for (Mod m : mods.descendingSet()) {
+			File bsl = new File(m.getLocalPath(), "bsl");
+			if (bsl.exists()) {
+				if (m.hasSeparatePlatformDirs()) {
+					File bslCommon = new File(bsl, "common");
+					File bslMac = new File(bsl, "mac_only");
+					File bslWin = new File(bsl, "win_only");
+					if ((Settings.getPlatform() == Platform.MACOS && bslMac
+							.exists())
+							|| ((Settings.getPlatform() == Platform.WIN || Settings
+									.getPlatform() == Platform.LINUX) && bslWin
+									.exists()) || bslCommon.exists()) {
+						modsToInclude.get(m.getBSLInstallType()).add(m);
+					}
+				} else {
+					modsToInclude.get(m.getBSLInstallType()).add(m);
+				}
+			}
+		}
+
+		for (Mod m : modsToInclude.get(EBSLInstallType.NORMAL)) {
+			copyBSL(m, false);
+		}
+		for (Mod m : modsToInclude.get(EBSLInstallType.ADDON)) {
+			copyBSL(m, true);
+		}
+	}
+
+	private static void copyBSL(Mod sourceMod, boolean addon) {
+		File targetBaseFolder = new File(Paths.getEditionGDF(), "IGMD");
+		if (!targetBaseFolder.exists())
+			targetBaseFolder.mkdir();
+
+		Vector<File> sources = new Vector<File>();
+		File bsl = new File(sourceMod.getLocalPath(), "bsl");
+		if (sourceMod.hasSeparatePlatformDirs()) {
+			File bslCommon = new File(bsl, "common");
+			File bslMac = new File(bsl, "mac_only");
+			File bslWin = new File(bsl, "win_only");
+			if (Settings.getPlatform() == Platform.MACOS && bslMac.exists()) {
+				for (File f : bslMac.listFiles(dirFileFilter)) {
+					File targetBSL = new File(targetBaseFolder, f.getName());
+					if (addon || !targetBSL.exists())
+						sources.add(f);
+				}
+			}
+			if ((Settings.getPlatform() == Platform.WIN || Settings
+					.getPlatform() == Platform.LINUX) && bslWin.exists()) {
+				for (File f : bslWin.listFiles(dirFileFilter)) {
+					File targetBSL = new File(targetBaseFolder, f.getName());
+					if (addon || !targetBSL.exists())
+						sources.add(f);
+				}
+			}
+			if (bslCommon.exists()) {
+				for (File f : bslCommon.listFiles(dirFileFilter)) {
+					File targetBSL = new File(targetBaseFolder, f.getName());
+					if (addon || !targetBSL.exists())
+						sources.add(f);
+				}
+			}
+		} else {
+			for (File f : bsl.listFiles(dirFileFilter)) {
+				File targetBSL = new File(targetBaseFolder, f.getName());
+				if (addon || !targetBSL.exists())
+					sources.add(f);
+			}
+		}
+
+		System.out.println("For mod: " + sourceMod.getName()
+				+ " install BSL folders: " + sources.toString());
+		for (File f : sources) {
+			File targetPath = new File(targetBaseFolder, f.getName());
+			if (!targetPath.exists())
+				targetPath.mkdir();
+			for (File fbsl : f.listFiles()) {
+				File targetFile = new File(targetPath, fbsl.getName());
+				if (!targetFile.exists()) {
+					try {
+						FileUtils.copyFile(fbsl, targetFile);
+					} catch (IOException e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				}
+			}
+		}
 	}
 
@@ -171,4 +276,5 @@
 		String s : levels.keySet())
 			totalSteps++;
+		totalSteps++;
 
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -202,4 +308,5 @@
 
 			log.println();
+			stepsDone++;
 		}
 
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 608)
@@ -1,4 +1,9 @@
 package net.oni2.aeinstaller.gui;
 
+import java.awt.Desktop;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
 import java.io.File;
 import java.io.IOException;
@@ -19,5 +24,7 @@
 import javax.swing.JLabel;
 import javax.swing.JMenu;
+import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
+import javax.swing.JPopupMenu;
 import javax.swing.JSplitPane;
 import javax.swing.JTable;
@@ -124,5 +131,4 @@
 		tblMods.getSelectionModel().addListSelectionListener(
 				new ListSelectionListener() {
-
 					@Override
 					public void valueChanged(ListSelectionEvent e) {
@@ -138,5 +144,53 @@
 					}
 				});
-
+		tblMods.addMouseListener(new MouseAdapter() {
+			private void common(MouseEvent e) {
+				int r = tblMods.rowAtPoint(e.getPoint());
+				if (r >= 0 && r < tblMods.getRowCount())
+					tblMods.setRowSelectionInterval(r, r);
+				else
+					tblMods.clearSelection();
+
+				int rowindex = tblMods.getSelectedRow();
+				if (rowindex >= 0) {
+					if (e.isPopupTrigger()
+							&& e.getComponent() instanceof JTable) {
+						int modelRow = tblMods.convertRowIndexToModel(rowindex);
+						final Mod mod = (Mod) model.getValueAt(modelRow, -1);
+
+						if (mod.isLocalAvailable()) {
+							JPopupMenu popup = new JPopupMenu();
+							JMenuItem openModFolder = new JMenuItem(bundle
+									.getString("openModFolder.text"));
+							openModFolder
+									.addActionListener(new ActionListener() {
+										@Override
+										public void actionPerformed(
+												ActionEvent arg0) {
+											try {
+												Desktop.getDesktop().open(
+														mod.getLocalPath());
+											} catch (IOException e) {
+												e.printStackTrace();
+											}
+										}
+									});
+							popup.add(openModFolder);
+							popup.show(e.getComponent(), e.getX(), e.getY());
+						}
+					}
+				}
+			}
+
+			@Override
+			public void mousePressed(MouseEvent e) {
+				common(e);
+			}
+
+			@Override
+			public void mouseReleased(MouseEvent e) {
+				common(e);
+			}
+		});
 		// To get checkbox-cells with background of row
 		((JComponent) tblMods.getDefaultRenderer(Boolean.class))
@@ -163,6 +217,6 @@
 
 	private void exit() {
-		setVisible(false);
 		dispose();
+		System.exit(0);
 	}
 
@@ -199,4 +253,5 @@
 	private void checkUpdates() {
 		if (Settings.getInstance().get("notifyupdates", true)) {
+			// TODO
 		}
 	}
@@ -365,7 +420,7 @@
 			} else {
 				HashMap<Mod, HashSet<Mod>> conflicts = ModManager.getInstance()
-						.checkConflicts(mods);
+						.checkIncompabitilites(mods);
 				if (conflicts.size() > 0) {
-					System.err.println("Conflicting mods: "
+					System.err.println("Incompatible mods: "
 							+ conflicts.toString());
 					break;
@@ -377,4 +432,6 @@
 
 		if (instReady) {
+			System.out.println("Install mods: " + mods.toString());
+
 			Installer.install(mods, new InstallProgressListener() {
 				@Override
@@ -462,6 +519,6 @@
 				break;
 			case MACOS:
-				params.add(new File(Paths.getEditionBasePath(), "Oni")
-						.getPath());
+				params.add(new File(Paths.getEditionBasePath(),
+						"Oni.app/Contents/MacOS/Oni").getPath());
 				break;
 			case LINUX:
@@ -512,4 +569,13 @@
 	}
 
+	@SuppressWarnings("unused")
+	private void openEditionFolder() {
+		try {
+			Desktop.getDesktop().open(Paths.getEditionBasePath());
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
 	@Override
 	public void handleAbout(ApplicationEvent event) {
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties	(revision 608)
@@ -15,4 +15,6 @@
 menu.runOniWin=Run Oni (&window)
 menu.runOniWinTooltip=Run Oni in windowed mode
+menu.openEditionFolder=Open Edition folder
+menu.openEditionFolderTooltip=Open the Edition folder in the file explorer
 menu.loadConfig=&Load configuration...
 menu.loadConfigTooltip=Load configuration
@@ -31,4 +33,6 @@
 lblModTypes.text=Mod type: 
 lblDownloadSize.text=Size of files to download: 
+
+openModFolder.text=Open mod folder
 
 lblSubmitter.text=Submitter:
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml	(revision 608)
@@ -15,4 +15,5 @@
     - Action(name=runOniFull, text=menu.runOniFull, toolTipText=menu.runOniFullTooltip, icon=img.oni, onAction=[oniFull])
     - Action(name=runOniWin, text=menu.runOniWin, toolTipText=menu.runOniWinTooltip, icon=img.oni, onAction=[oniWin])
+    - Action(name=openEditionFolder, text=menu.openEditionFolder, toolTipText=menu.openEditionFolderTooltip, icon=img.folder, onAction=[openEditionFolder])
     - Action(name=loadConfig, text=menu.loadConfig, toolTipText=menu.loadConfigTooltip, icon=img.openFile, onAction=[loadConfig])
     - Action(name=saveConfig, text=menu.saveConfig, toolTipText=menu.saveConfigTooltip, icon=img.saveFile, onAction=[saveConfig])
@@ -27,4 +28,6 @@
             - JMenuItem(action=runOniFull)
             - JMenuItem(action=runOniWin)
+            - JSeparator()
+            - JMenuItem(action=openEditionFolder)
             - JSeparator()
             - JMenuItem(action=loadConfig)
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableFilter.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableFilter.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableFilter.java	(revision 608)
@@ -29,5 +29,5 @@
 			return false;
 
-		if (!mod.validOnPlatform())
+		if (!mod.isValidOnPlatform())
 			return false;
 
Index: AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 608)
@@ -121,5 +121,5 @@
 	public void reloadData() {
 		items.clear();
-		items.addAll(ModManager.getInstance().getMods());
+		items.addAll(ModManager.getInstance().getModsValidAndNotMandatory());
 		revertSelection();
 	}
Index: AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 608)
@@ -7,4 +7,5 @@
 
 import javax.swing.AbstractAction;
+import javax.swing.JCheckBox;
 import javax.swing.JComboBox;
 import javax.swing.JComponent;
@@ -33,9 +34,11 @@
 	private LaFComboModel laFModel;
 
+	private JCheckBox chkNotifyOnStart;
+
 	/**
 	 * Open the settings
 	 */
 	public SettingsDialog() {
-		setMinimumSize(new Dimension(500, (int) getSize().getHeight() + 0));
+		setMinimumSize(new Dimension(320, (int) getSize().getHeight() + 0));
 
 		AbstractAction closeAction = new AbstractAction() {
@@ -62,4 +65,6 @@
 		laFModel = new LaFComboModel();
 		cmbLaF.setModel(laFModel);
+
+		chkNotifyOnStart.setSelected(set.get("notifyupdates", true));
 	}
 
@@ -68,6 +73,8 @@
 		Settings set = Settings.getInstance();
 
-		String oldLaf = set.get("lookandfeel",
-				UIManager.getLookAndFeel().getClass().getName());
+		set.get("notifyupdates", chkNotifyOnStart.isSelected());
+
+		String oldLaf = set.get("lookandfeel", UIManager.getLookAndFeel()
+				.getClass().getName());
 		String newLaf = laFModel.getSelectedClassName();
 
Index: AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.properties	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.properties	(revision 608)
@@ -6,10 +6,6 @@
 lblLaF=GUI theme:
 
-panSetupDefaults=Default values for the installations
-lblCreateDesktop=Link auf Desktop erstellen:
-lblDesktopFolder=Desktop-Ordner:
-txtDesktopFolder=Relativ zum Desktop-Ordner. Z.B. "." um die Verknüpfungen direkt auf dem Desktop abzulegen, "Spiele" um die Verknüpfungen in einen Unterordner Spiele auf dem Desktop zu legen.
-lblUnattended=<html>Schnelles Setup (obige<br>Einstellungen nicht im Setup änderbar):</html> 
-
+panCommon=Common settings
+lblNotifyOnStart=Notify about updates on startup:
 
 newLaF.text=A new GUI theme was selected.\nPlease restart the application in order to apply the changes.
Index: AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.yml
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.yml	(revision 607)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.yml	(revision 608)
@@ -10,13 +10,10 @@
     - JButton(name=btnOk, text=btnOk, onAction=[save,dispose])
     - JButton(name=btnCancel, text=btnCancel, onAction=[dispose])
-    - JPanel(name=panSetupDefaults, groupTitle=panSetupDefaults):
-      - JLabel(name=lblCreateDesktop, text=lblCreateDesktop)
-      - JCheckBox(name=chkCreateDesktop)
-      - JLabel(name=lblDesktopFolder, text=lblDesktopFolder)
-      - JTextField(name=txtDesktopFolder, toolTipText=txtDesktopFolder)
+    - JPanel(name=panCommon, groupTitle=panCommon):
+      - JLabel(name=lblNotifyOnStart, text=lblNotifyOnStart)
+      - JCheckBox(name=chkNotifyOnStart)
       - MigLayout: |
            [min]                [grow]
-           >lblCreateDesktop    chkCreateDesktop         [pref]
-           >lblDesktopFolder    txtDesktopFolder         [pref]
+           >lblNotifyOnStart    chkNotifyOnStart         [pref]
     - JPanel(name=panUI, groupTitle=panUI):
       - JLabel(name=lblLaF, text=lblLaF)
@@ -27,5 +24,5 @@
     - MigLayout: |
          [grow]
-         panSetupDefaults        [pref]
+         panCommon               [pref]
          panUI                   [pref]
          >btnOk+*=1,btnCancel=1  [min]
