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; }