Index: /java/AEInstaller2-Updater/src/net/oni2/aeinstaller/updater/gui/MainWin.java
===================================================================
--- /java/AEInstaller2-Updater/src/net/oni2/aeinstaller/updater/gui/MainWin.java	(revision 766)
+++ /java/AEInstaller2-Updater/src/net/oni2/aeinstaller/updater/gui/MainWin.java	(revision 767)
@@ -80,5 +80,6 @@
 		if (aei.exists()) {
 			try {
-				ApplicationInvoker.execute(EExeType.JAR, null, aei, null);
+				ApplicationInvoker
+						.execute(EExeType.JAR, null, aei, null, false);
 			} catch (FileNotFoundException e) {
 				// TODO Auto-generated catch block
Index: /java/PlatformTools/src/net/oni2/platformtools/PlatformInformation.java
===================================================================
--- /java/PlatformTools/src/net/oni2/platformtools/PlatformInformation.java	(revision 766)
+++ /java/PlatformTools/src/net/oni2/platformtools/PlatformInformation.java	(revision 767)
@@ -75,5 +75,5 @@
 						res = ApplicationInvoker.executeAndWait(
 								EExeType.OSBINARY, null, new File("getconf"),
-								params);
+								params, false);
 					} catch (IOException e) {
 						e.printStackTrace();
Index: /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/ApplicationInvoker.java
===================================================================
--- /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/ApplicationInvoker.java	(revision 766)
+++ /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/ApplicationInvoker.java	(revision 767)
@@ -19,8 +19,9 @@
 public class ApplicationInvoker {
 	private static Vector<String> buildCommandLine(EExeType exeType,
-			File program, Vector<String> params)
+			File program, Vector<String> params, boolean ignoreFileNotFound)
 			throws ERuntimeNotInstalledException, FileNotFoundException {
-		if (program.getParentFile() != null && !program.exists())
-			throw new FileNotFoundException();
+		if (!ignoreFileNotFound)
+			if (program.getParentFile() != null && !program.exists())
+				throw new FileNotFoundException();
 		Vector<String> cmdLine = new Vector<String>();
 		switch (exeType) {
@@ -80,4 +81,6 @@
 	 * @param params
 	 *            List of command and arguments
+	 * @param ignoreFileNotFound
+	 *            Ignore if the program file is not found
 	 * @return Error code and list of output lines
 	 * @throws IOException
@@ -90,9 +93,9 @@
 	 */
 	public static ApplicationInvocationResult executeAndWait(EExeType exeType,
-			File workingDirectory, File program, Vector<String> params)
-			throws ERuntimeNotInstalledException, FileNotFoundException,
-			IOException {
+			File workingDirectory, File program, Vector<String> params,
+			boolean ignoreFileNotFound) throws ERuntimeNotInstalledException,
+			FileNotFoundException, IOException {
 		return executeAndWait(workingDirectory,
-				buildCommandLine(exeType, program, params));
+				buildCommandLine(exeType, program, params, ignoreFileNotFound));
 	}
 
@@ -108,4 +111,6 @@
 	 * @param params
 	 *            List of command and arguments
+	 * @param ignoreFileNotFound
+	 *            Ignore if the program file is not found
 	 * @throws ERuntimeNotInstalledException
 	 *             If the program to be executed requires a runtime which could
@@ -115,7 +120,8 @@
 	 */
 	public static void execute(EExeType exeType, File workingDirectory,
-			File program, Vector<String> params)
+			File program, Vector<String> params, boolean ignoreFileNotFound)
 			throws ERuntimeNotInstalledException, FileNotFoundException {
-		execute(buildCommandLine(exeType, program, params), workingDirectory);
+		execute(buildCommandLine(exeType, program, params, ignoreFileNotFound),
+				workingDirectory);
 	}
 
Index: /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/DotNet.java
===================================================================
--- /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/DotNet.java	(revision 766)
+++ /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/DotNet.java	(revision 767)
@@ -58,5 +58,5 @@
 					ApplicationInvocationResult res = null;
 					try {
-						res = ApplicationInvoker.executeAndWait(EExeType.OSBINARY, null, new File("which"), params);
+						res = ApplicationInvoker.executeAndWait(EExeType.OSBINARY, null, new File("which"), params, false);
 					} catch (IOException e) {
 						e.printStackTrace();
Index: /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/Wine.java
===================================================================
--- /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/Wine.java	(revision 766)
+++ /java/PlatformTools/src/net/oni2/platformtools/applicationinvoker/Wine.java	(revision 767)
@@ -36,5 +36,5 @@
 				try {
 					res = ApplicationInvoker.executeAndWait(EExeType.OSBINARY,
-							null, new File("which"), params);
+							null, new File("which"), params, false);
 				} catch (IOException e) {
 					e.printStackTrace();
Index: /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 766)
+++ /java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 767)
@@ -269,5 +269,5 @@
 								"AEInstaller2Updater.jar");
 						ApplicationInvoker.execute(EExeType.JAR, null, updater,
-								null);
+								null, false);
 						return;
 					}
Index: /java/installer2/src/net/oni2/aeinstaller/backend/oni/OniLauncher.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/backend/oni/OniLauncher.java	(revision 766)
+++ /java/installer2/src/net/oni2/aeinstaller/backend/oni/OniLauncher.java	(revision 767)
@@ -16,10 +16,15 @@
 public class OniLauncher {
 
-	private static File getOniExe() {
+	private static File getOniExe() throws FileNotFoundException {
 		File exe = null;
 		switch (PlatformInformation.getPlatform()) {
 			case WIN:
+			case LINUX:
 				exe = new File(Paths.getEditionBasePath(), "Oni.exe");
-				break;
+				if (exe.exists())
+					return exe;
+				else
+					throw new FileNotFoundException(
+							"Oni's executable was not found");
 			case MACOS:
 				exe = new File("./Oni.app/Contents/MacOS/Oni");
@@ -27,13 +32,10 @@
 						"Oni.app/Contents/MacOS/Oni").exists())
 					return exe;
-				break;
-			case LINUX:
-				exe = new File(Paths.getEditionBasePath(), "Oni.exe");
-				break;
+				else
+					throw new FileNotFoundException(
+							"Oni's executable was not found");
 			default:
 		}
-		if ((exe != null) && !exe.exists())
-			exe = null;
-		return exe;
+		return null;
 	}
 
@@ -58,6 +60,4 @@
 			ERuntimeNotInstalledException {
 		File exe = getOniExe();
-		if (exe == null)
-			throw new FileNotFoundException("Oni's executable was not found");
 		Vector<String> params = new Vector<String>();
 		params.add("-debugfiles");
@@ -65,5 +65,5 @@
 			params.add("-noswitch");
 		ApplicationInvoker.execute(getOniExeType(), Paths.getEditionBasePath(),
-				exe, params);
+				exe, params, true);
 	}
 
Index: /java/installer2/src/net/oni2/aeinstaller/backend/oni/OniSplit.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/backend/oni/OniSplit.java	(revision 766)
+++ /java/installer2/src/net/oni2/aeinstaller/backend/oni/OniSplit.java	(revision 767)
@@ -35,5 +35,6 @@
 	 * @return OniSplit output
 	 */
-	public static ApplicationInvocationResult export(File targetFolder, File input) {
+	public static ApplicationInvocationResult export(File targetFolder,
+			File input) {
 		return export(targetFolder, input, null);
 	}
@@ -50,6 +51,6 @@
 	 * @return OniSplit output
 	 */
-	public static ApplicationInvocationResult export(File targetFolder, File input,
-			Vector<String> patterns) {
+	public static ApplicationInvocationResult export(File targetFolder,
+			File input, Vector<String> patterns) {
 		if (!targetFolder.exists())
 			targetFolder.mkdir();
@@ -66,5 +67,6 @@
 		ApplicationInvocationResult res = null;
 		try {
-			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
+			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
+					getProgramFile(), params, false);
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -84,6 +86,6 @@
 	 * @return OniSplit output
 	 */
-	public static ApplicationInvocationResult importLevel(Vector<File> sourceFolders,
-			File targetFile) {
+	public static ApplicationInvocationResult importLevel(
+			Vector<File> sourceFolders, File targetFile) {
 		Vector<String> params = new Vector<String>();
 		params.add(getImportParam());
@@ -93,5 +95,6 @@
 		ApplicationInvocationResult res = null;
 		try {
-			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
+			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
+					getProgramFile(), params, false);
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -113,6 +116,6 @@
 	 * @return OniSplit output
 	 */
-	public static ApplicationInvocationResult packLevel(Vector<File> sourceFoldersFiles,
-			File targetFile) {
+	public static ApplicationInvocationResult packLevel(
+			Vector<File> sourceFoldersFiles, File targetFile) {
 		Vector<String> params = new Vector<String>();
 		params.add(getPackParam());
@@ -124,5 +127,6 @@
 		ApplicationInvocationResult res = null;
 		try {
-			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
+			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
+					getProgramFile(), params, false);
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -145,17 +149,17 @@
 	 * @return OniSplit output
 	 */
-	public static ApplicationInvocationResult move(File targetFolder, String input,
-			String moveParameter) {
+	public static ApplicationInvocationResult move(File targetFolder,
+			String input, String moveParameter) {
 		if (!targetFolder.exists())
 			targetFolder.mkdir();
 
 		Vector<String> params = new Vector<String>();
-		params.add("-move"
-				+ (moveParameter != null ? ":" + moveParameter : ""));
+		params.add("-move" + (moveParameter != null ? ":" + moveParameter : ""));
 		params.add(targetFolder.getPath());
 		params.add(input);
 		ApplicationInvocationResult res = null;
 		try {
-			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
+			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
+					getProgramFile(), params, false);
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -175,6 +179,6 @@
 	 * @return OniSplit output
 	 */
-	public static ApplicationInvocationResult convertOniToXML(File targetFolder,
-			Vector<File> inputFiles) {
+	public static ApplicationInvocationResult convertOniToXML(
+			File targetFolder, Vector<File> inputFiles) {
 		if (!targetFolder.exists())
 			targetFolder.mkdirs();
@@ -188,5 +192,6 @@
 		ApplicationInvocationResult res = null;
 		try {
-			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
+			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
+					getProgramFile(), params, false);
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -206,6 +211,6 @@
 	 * @return OniSplit output
 	 */
-	public static ApplicationInvocationResult convertXMLtoOni(File targetFolder,
-			Vector<File> inputFiles) {
+	public static ApplicationInvocationResult convertXMLtoOni(
+			File targetFolder, Vector<File> inputFiles) {
 		if (!targetFolder.exists())
 			targetFolder.mkdirs();
@@ -219,5 +224,6 @@
 		ApplicationInvocationResult res = null;
 		try {
-			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
+			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
+					getProgramFile(), params, false);
 		} catch (IOException e) {
 			e.printStackTrace();
Index: /java/installer2/src/net/oni2/aeinstaller/backend/oni/XMLTools.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/backend/oni/XMLTools.java	(revision 766)
+++ /java/installer2/src/net/oni2/aeinstaller/backend/oni/XMLTools.java	(revision 767)
@@ -37,5 +37,5 @@
 		try {
 			res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
-					getProgramFile(), params);
+					getProgramFile(), params, false);
 		} catch (IOException e) {
 			e.printStackTrace();
Index: /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 766)
+++ /java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 767)
@@ -505,5 +505,5 @@
 						try {
 							ApplicationInvoker.execute(m.getExeType(),
-									m.getWorkingDir(), m.getExeFile(), null);
+									m.getWorkingDir(), m.getExeFile(), null, false);
 						} catch (ERuntimeNotInstalledException e) {
 							JOptionPane.showMessageDialog(null,
