Skip to content

v2.34.2 — sc.exe-Argumente korrekt splitten

Choose a tag to compare

@nikolausm nikolausm released this 19 Oct 10:48
· 7 commits to main since this release

Behoben

Der Dienst-Installer aus v2.34.0/v2.34.1 schlug beim ersten echten Lauf fehl:

```
[1/5] Dienst 'SimpleAdminWebUI' anlegen …
ERROR: Invalid start= field
Fehler: sc create fehlgeschlagen:
```

sc.exe erwartet Optionsname und Wert als zwei getrennte Argv-Tokens (start= + auto), nicht als ein einzelnes "start= auto". Der Installer bündelte beides in einem ArgumentList-Eintrag, Windows klammerte den Eintrag in Quotes und sc.exe lehnte das zurecht ab.

Fix

binPath=, start=, DisplayName=, obj= und password= werden jetzt zusammen mit ihren Werten als separate Argv-Tokens an sc.exe übergeben. Pfade mit Leerzeichen werden von ProcessStartInfo.ArgumentList wie gewohnt korrekt escaped.

Intern

  • Zusätzlicher Unit-Test im Dispatch-Pfad (createCall.Args.Should().ContainInOrder("start=", "auto")) verhindert einen Rückfall.
  • Alle sechs Pakete im Lockstep auf 2.34.2.

Empfehlung

Konsument-Wrapper auf 2.34.2 heben, kurz neu publishen, dann <DeineEXE>.exe install --port=5080 als Administrator — der Dienst wird jetzt sauber angelegt und startet.

🤖 Generated with Claude Code