Index: /java/installer2/.classpath
===================================================================
--- /java/installer2/.classpath	(revision 839)
+++ /java/installer2/.classpath	(revision 840)
@@ -29,4 +29,5 @@
 	<classpathentry kind="lib" path="/_ThirdPartyLibs/commons-compress-1.5.jar"/>
 	<classpathentry kind="lib" path="/_ThirdPartyLibs/xz-1.2.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/UTF8ResourceBundleLoader"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: /java/installer2/.settings/org.eclipse.core.resources.prefs
===================================================================
--- /java/installer2/.settings/org.eclipse.core.resources.prefs	(revision 840)
+++ /java/installer2/.settings/org.eclipse.core.resources.prefs	(revision 840)
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+encoding//locales/net/oni2/aeinstaller/localization/CorePackagesDialog_de.properties=UTF-8
+encoding//locales/net/oni2/aeinstaller/localization/Downloader_de.properties=UTF-8
+encoding//locales/net/oni2/aeinstaller/localization/Global_de.properties=UTF-8
+encoding//locales/net/oni2/aeinstaller/localization/MainWin_de.properties=UTF-8
+encoding//locales/net/oni2/aeinstaller/localization/ModTable_de.properties=UTF-8
+encoding//locales/net/oni2/aeinstaller/localization/PackageInfoBox_de.properties=UTF-8
+encoding//locales/net/oni2/aeinstaller/localization/SettingsDialog_de.properties=UTF-8
Index: /java/installer2/src/net/oni2/aeinstaller/AEInstaller.properties
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 840)
@@ -1,2 +1,2 @@
 appname=AE Installer 2
-appversion=.06
+appversion=.07
Index: /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 840)
@@ -35,4 +35,5 @@
 import net.oni2.platformtools.applicationinvoker.DotNet;
 import net.oni2.platformtools.applicationinvoker.EExeType;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 import net.oni2.svnaccess.SVN;
 
@@ -84,5 +85,5 @@
 		basicBundle = ResourceBundle
 				.getBundle("net.oni2.aeinstaller.AEInstaller");
-		globalBundle = ResourceBundle
+		globalBundle = UTF8ResourceBundleLoader
 				.getBundle("net.oni2.aeinstaller.localization.Global");
 	}
Index: /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 840)
@@ -77,4 +77,5 @@
 import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
 import net.oni2.platformtools.applicationinvoker.ERuntimeNotInstalledException;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 import org.javabuilders.BuildResult;
@@ -92,5 +93,5 @@
 	private static final long serialVersionUID = -4027395051382659650L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization."
 					+ getClass().getSimpleName());
@@ -589,5 +590,6 @@
 					execCoreUpdates.add(m);
 					tools.add(m);
-				}
+				} else if (!m.isInstalled())
+					tools.add(m);
 			}
 			for (Package m : PackageManager.getInstance().getCoreMods()) {
Index: /java/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/about/AboutDialog.java	(revision 840)
@@ -12,4 +12,5 @@
 
 import net.oni2.aeinstaller.gui.HTMLLinkLabel;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 import org.javabuilders.BuildResult;
@@ -22,5 +23,5 @@
 	private static final long serialVersionUID = 1632257865019785612L;
 
-	private ResourceBundle bundle = ResourceBundle.getBundle(getClass()
+	private ResourceBundle bundle = UTF8ResourceBundleLoader.getBundle(getClass()
 			.getName());
 	@SuppressWarnings("unused")
Index: /java/installer2/src/net/oni2/aeinstaller/gui/corepackages/CorePackagesDialog.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/corepackages/CorePackagesDialog.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/corepackages/CorePackagesDialog.java	(revision 840)
@@ -18,4 +18,5 @@
 import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType;
 import net.oni2.aeinstaller.gui.packageinfobox.PackageInfoBox;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 import org.javabuilders.BuildResult;
@@ -28,5 +29,5 @@
 	private static final long serialVersionUID = -5444213842599816301L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization."
 					+ getClass().getSimpleName());
@@ -60,5 +61,6 @@
 		getRootPane().getActionMap().put("close", closeAction);
 
-		contents.setDividerLocation(SettingsManager.getInstance().get("win_core_divloc", 550));
+		contents.setDividerLocation(SettingsManager.getInstance().get(
+				"win_core_divloc", 550));
 		contents.setResizeWeight(0.4);
 
@@ -69,5 +71,6 @@
 		tblTools.addModSelectionListener(this);
 
-		setSize(SettingsManager.getInstance().get("win_core_width", 950), SettingsManager.getInstance().get("win_core_height", 600));
+		setSize(SettingsManager.getInstance().get("win_core_width", 950),
+				SettingsManager.getInstance().get("win_core_height", 600));
 		setLocationRelativeTo(null);
 	}
@@ -80,5 +83,6 @@
 	@SuppressWarnings("unused")
 	private void closing() {
-		SettingsManager.getInstance().put("win_core_divloc", contents.getDividerLocation());
+		SettingsManager.getInstance().put("win_core_divloc",
+				contents.getDividerLocation());
 		SettingsManager.getInstance().put("win_core_width", getWidth());
 		SettingsManager.getInstance().put("win_core_height", getHeight());
Index: /java/installer2/src/net/oni2/aeinstaller/gui/downloadwindow/Downloader.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/downloadwindow/Downloader.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/downloadwindow/Downloader.java	(revision 840)
@@ -15,4 +15,5 @@
 import net.oni2.aeinstaller.backend.packages.download.ModDownloaderListener;
 import net.oni2.aeinstaller.backend.packages.download.ModDownloader.State;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 import org.javabuilders.BuildResult;
@@ -25,5 +26,5 @@
 	private static final long serialVersionUID = 9097967828001263776L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization."
 					+ getClass().getSimpleName());
Index: /java/installer2/src/net/oni2/aeinstaller/gui/modtable/EApplyFilterTo.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/modtable/EApplyFilterTo.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/modtable/EApplyFilterTo.java	(revision 840)
@@ -2,4 +2,6 @@
 
 import java.util.ResourceBundle;
+
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 /**
@@ -24,5 +26,5 @@
 	DESCRIPTION;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization.ModTable");
 
Index: /java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 840)
@@ -39,4 +39,5 @@
 import net.oni2.aeinstaller.backend.packages.Type;
 import net.oni2.aeinstaller.gui.downloadwindow.Downloader;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 /**
@@ -46,5 +47,5 @@
 	private static final long serialVersionUID = 1L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization.ModTable");
 
Index: /java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 840)
@@ -15,4 +15,5 @@
 import net.oni2.aeinstaller.backend.packages.PackageManager;
 import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 /**
@@ -23,5 +24,5 @@
 	private static final long serialVersionUID = -8278155705802697354L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization.ModTable");
 
Index: /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/packageinfobox/PackageInfoBox.java	(revision 840)
@@ -11,4 +11,5 @@
 import net.oni2.aeinstaller.backend.packages.Type;
 import net.oni2.aeinstaller.gui.HTMLLinkLabel;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 import org.javabuilders.BuildResult;
@@ -21,5 +22,5 @@
 	private static final long serialVersionUID = 233098603653577693L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization."
 					+ getClass().getSimpleName());
Index: /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 840)
@@ -15,4 +15,5 @@
 
 import net.oni2.SettingsManager;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 import org.javabuilders.BuildResult;
@@ -25,5 +26,5 @@
 	private static final long serialVersionUID = -5719515325671846620L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization."
 					+ getClass().getSimpleName());
@@ -72,5 +73,6 @@
 
 		chkNotifyOnStart.setSelected(set.get("notifyupdates", true));
-		chkNotifyDepsAfterInstall.setSelected(set.get("notifyDepsAfterInstall", false));
+		chkNotifyDepsAfterInstall.setSelected(set.get("notifyDepsAfterInstall",
+				false));
 		chkCopyIntro.setSelected(set.get("copyintro", false));
 		chkCopyOutro.setSelected(set.get("copyoutro", true));
@@ -82,5 +84,6 @@
 
 		set.put("notifyupdates", chkNotifyOnStart.isSelected());
-		set.put("notifyDepsAfterInstall", chkNotifyDepsAfterInstall.isSelected());
+		set.put("notifyDepsAfterInstall",
+				chkNotifyDepsAfterInstall.isSelected());
 		set.put("copyintro", chkCopyIntro.isSelected());
 		set.put("copyoutro", chkCopyOutro.isSelected());
Index: /java/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java	(revision 839)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java	(revision 840)
@@ -25,4 +25,5 @@
 import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType;
 import net.oni2.aeinstaller.gui.packageinfobox.PackageInfoBox;
+import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
 import org.javabuilders.BuildResult;
@@ -35,5 +36,5 @@
 	private static final long serialVersionUID = 343221630538866384L;
 
-	private ResourceBundle bundle = ResourceBundle
+	private ResourceBundle bundle = UTF8ResourceBundleLoader
 			.getBundle("net.oni2.aeinstaller.localization."
 					+ getClass().getSimpleName());
@@ -73,5 +74,6 @@
 		getRootPane().getActionMap().put("close", closeAction);
 
-		contents.setDividerLocation(SettingsManager.getInstance().get("win_tools_divloc", 550));
+		contents.setDividerLocation(SettingsManager.getInstance().get(
+				"win_tools_divloc", 550));
 		contents.setResizeWeight(0.4);
 
@@ -87,5 +89,6 @@
 				SwingJavaBuilder.getConfig().getResource("img.uninstall")));
 
-		setSize(SettingsManager.getInstance().get("win_tools_width", 950), SettingsManager.getInstance().get("win_tools_height", 600));
+		setSize(SettingsManager.getInstance().get("win_tools_width", 950),
+				SettingsManager.getInstance().get("win_tools_height", 600));
 		setLocationRelativeTo(null);
 	}
@@ -149,8 +152,9 @@
 		}
 	}
-	
+
 	@SuppressWarnings("unused")
 	private void closing() {
-		SettingsManager.getInstance().put("win_tools_divloc", contents.getDividerLocation());
+		SettingsManager.getInstance().put("win_tools_divloc",
+				contents.getDividerLocation());
 		SettingsManager.getInstance().put("win_tools_width", getWidth());
 		SettingsManager.getInstance().put("win_tools_height", getHeight());
