diff --git a/build.xml b/build.xml
index 678abccf9..a947584ad 100644
--- a/build.xml
+++ b/build.xml
@@ -408,6 +408,7 @@
+
diff --git a/installer/install.xml b/installer/install.xml
index 4adcf1609..40a6e59c8 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -183,8 +183,8 @@
Automatically start I2P in the background
+
@@ -198,9 +198,6 @@
-
diff --git a/installer/resources/set_config_dir_for_nt_service.bat b/installer/resources/set_config_dir_for_nt_service.bat
new file mode 100644
index 000000000..adbabdad7
--- /dev/null
+++ b/installer/resources/set_config_dir_for_nt_service.bat
@@ -0,0 +1,4 @@
+@echo off
+cd /d %~dp0
+echo.
+echo wrapper.java.additional.5=-Di2p.dir.config="%APPDATA%\i2p">>wrapper.config
diff --git a/router/java/src/net/i2p/router/startup/WorkingDir.java b/router/java/src/net/i2p/router/startup/WorkingDir.java
index 1a8249798..a1f414ac2 100644
--- a/router/java/src/net/i2p/router/startup/WorkingDir.java
+++ b/router/java/src/net/i2p/router/startup/WorkingDir.java
@@ -164,14 +164,22 @@ public class WorkingDir {
}
}
- /** Returns false if a directory is empty, or contains nothing besides a subdirectory named plugins */
+ /**
+ * Tests if dir has been set up as a I2P working directory.
+ * Returns false if a directory is empty, or contains nothing besides
+ * subdirectories named plugins and/or logs.
+ * Returns true if the directory contains something not named
+ * plugins or logs.
+ * This allows to pre-install plugins before the first router start.
+ */
private static boolean isSetup(File dir) {
if (dir.isDirectory()) {
String[] files = dir.list();
- if (files.length == 0)
+ if (files == null)
return false;
- if (files.length>1 || !"plugins".equals(files[0]))
- return true;
+ for (String file: files)
+ if (!"plugins".equals(file) && !"logs".equals(file))
+ return true;
}
return false;
}