Problem
On Windows, pressing "Start all services" opens a separate console window per service (Solr, and any others FreeEed launches). They stay on screen, clutter the desktop, and confuse non-technical users (litigators). Goal: keep them minimized / hidden / in the background — ideally by default.
Reported by a user actively running the Windows build.
To confirm from the code
- How are the services launched today on Windows? (a
.bat, start, java -jar, Solr's bin\solr.cmd, etc. — repo + file). One window each, or one shared console?
- Which approach below fits FreeEed's launcher, and what's the effort?
Candidate approaches (quick → robust)
javaw.exe instead of java.exe for Java-based services — javaw runs with no console window at all. Redirect stdout/stderr to a log file so nothing is lost. (Usually the cleanest quick win.)
start /min "" ... to launch each service minimized (still a taskbar item, but off the desktop).
- Hidden launcher wrapper — a tiny VBScript/PowerShell that runs the command with a hidden window (
WScript.Shell.Run cmd, 0, False). Good when the service must be java.exe/.bat.
- Solr specifically —
solr.cmd start already detaches; check whether FreeEed is instead running it in the foreground.
- Proper solution: run as Windows services (e.g. via NSSM) — true background, survives logout, manageable/stoppable from a tray or Services panel. Heavier lift; best long-term for non-technical users.
Suggested path
Quick win: switch the Java service launches to javaw (or start /min) with output redirected to logs, so no console windows appear. Track Windows-services (NSSM) + a small tray status indicator as the proper follow-up.
Problem
On Windows, pressing "Start all services" opens a separate console window per service (Solr, and any others FreeEed launches). They stay on screen, clutter the desktop, and confuse non-technical users (litigators). Goal: keep them minimized / hidden / in the background — ideally by default.
Reported by a user actively running the Windows build.
To confirm from the code
.bat,start,java -jar, Solr'sbin\solr.cmd, etc. — repo + file). One window each, or one shared console?Candidate approaches (quick → robust)
javaw.exeinstead ofjava.exefor Java-based services —javawruns with no console window at all. Redirect stdout/stderr to a log file so nothing is lost. (Usually the cleanest quick win.)start /min "" ...to launch each service minimized (still a taskbar item, but off the desktop).WScript.Shell.Run cmd, 0, False). Good when the service must bejava.exe/.bat.solr.cmd startalready detaches; check whether FreeEed is instead running it in the foreground.Suggested path
Quick win: switch the Java service launches to
javaw(orstart /min) with output redirected to logs, so no console windows appear. Track Windows-services (NSSM) + a small tray status indicator as the proper follow-up.