Skip to content

Windows: run background services hidden/minimized (no console windows on "Start all services") #594

Description

@markkerzner

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

  1. 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?
  2. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions