← Package directory
Available on winget

Install Servy

Servy lets you run any app as a native Windows service with full control over working directory, startup type, process priority, logging, health checks, pre-launch scripts and parameters.

Install with winget
winget install --id aelassas.Servy
Upgrade
winget upgrade --id aelassas.Servy
Uninstall
winget uninstall --id aelassas.Servy

About Servy

Servy lets you run any app as a native Windows service with full control over the working directory, startup type, process priority, logging, health checks, environment variables, dependencies, pre-launch and post-launch hooks, pre-stop and post-stop hooks, and parameters. It's designed to be a full-featured alternative to NSSM, WinSW, and FireDaemon Pro. Servy is digitally signed using a trusted code-signing certificate provided by the SignPath Foundation. This ensures that all Servy executables and installers are...

What's new in 8.4

Servy 8.4 introduces enhanced recovery orchestration, improved security protocols, and significant performance optimizations across the entire service ecosystem. Key Highlights - Advanced Recovery Orchestration: New configuration options to ensure critical services maintain high availability through complex failure states. - Granular Configuration: Expanded settings for process management and lifecycle handling, offering deeper flexibility for specialized environments. - Hardened Security & Stability: Under-the-hood improvements to core security logic and stability, ensuring safer operation in production settings. - System Maintenance: Comprehensive bug fixes and optimizations for a more reliable developer and operator experience. The full changelog is available below. Full Changelog Click to expand release notes! - feat(core): recovery for when the service process exits cleanly (#1311) - fix(core): Timing/retry magic numbers scattered across LogTailer, ServiceHelper, DapperExecutor, ProcessHelper, RotatingStreamWriter - consolidate into AppConfig (#818) - fix(core): ProcessKiller.KillProcessTree - GetParentProcessId called O(N×depth) times during recursion (#826) - fix(core): Helper.IsRunningInUnitTest - only detects xUnit; NUnit/MSTest assemblies fall through to production code paths (#830) - fix(core): ServiceManager constructor - missing ArgumentNullException guards (inconsistent with rest of codebase) (#839) - fix(core): Logger.cs - Log timestamp lacks UTC/local indicator, ambiguous when UseLocalTimeForRotation is enabled (#842) - fix(core): DefaultRotationSize is dupl...

Read release notes

Version history

Version Updated Notes
8.4 Unknown Servy 8.4 introduces enhanced recovery orchestration, improved security protocols, and significant performance optimizations across the entire service ecosystem. Key Highlights - Advanced Recovery Orchestration: New conf...
8.3 Unknown Servy 8.3 improves the UI experience and includes many fixes. The full changelog is available below. Full Changelog Click to expand release notes! - fix(service): Console.CursorVisible causes service crash when running c...
8.2 Unknown - fix(manager): CPU, RAM and PID resource monitoring shows "N/A" or frozen values for services (#796) - fix(manager): set PID to N/A when service is uninstalled - fix(core): ServiceValidationRules.cs - Missing Name/Execu...
8.1 Unknown Servy 8.1 introduces many fixes across main components. The full release notes are available in the expandable section below. Full Changelog Click to expand release notes! - fix(core): Child folder ACLs in %ProgramData%\...
8.0 Unknown Servy 8.0 introduces many fixes across all components. The full release notes are available in the expandable section below. Full Changelog Click to expand release notes! - feat(core): allow MaxRestartAttempts to be set...
7.9 Unknown Servy 7.9 introduces a hardened security infrastructure, significant performance optimizations, and a wealth of new features. It's packed with an extensive list of improvements, and the full release notes are available i...
7.8 Unknown - feat(logger): add LogRollingInterval config for daily, weekly, or monthly log rotation - fix(logger): defer file creation until first write (lazy init) - fix(core): replace WMI with SCM/Registry for resource refresh se...
7.7 Unknown - feat(logger): add EnableEventLog option to allow disabling Windows Event Log via configuration - refactor(core): general code cleanup and refactoring - docs(wiki): improve Advanced Configuration documentation - chore(a...
7.6 Unknown - feat(service): read entire service configuration from database instead of service parameters - feat(logger): implement dual-channel LogLevel support for the Windows Event Log and local files - feat(logger): add LogRota...
7.5 Unknown - feat(logger): expand observability across Desktop, CLI, Manager, Service, and Restarter logs - feat(logger): add DEBUG level for more verbose output during troubleshooting - feat(logger): add LogLevel setting to dynami...
7.4 Unknown - feat(logger): expand observability across Desktop, CLI, and Manager apps - fix(logger): ensure recovery logic coverage and prevent zombie handles - fix(logger): restore correct encoding after log rotation to prevent ga...
7.3 Unknown - fix(core): use local time instead of UTC for log rotation (#47) - fix(core): correct log cleanup logic (#47)
7.2 Unknown - feat(core): change log rotation naming to insert timestamp before extension (#47) - feat(core): use local time instead of UTC for log rotation (#47) - feat(core): update log cleanup logic (#47) - ci(publish): fix Virus...
7.1 Unknown - fix(cli): typo in import validation message (#45) - fix(cli): install after import not registered with Servy.Service.CLI.exe (#46) - ci(publish): wrong Inno Setup download URL - ci(publish): upgrade artifact upload to...
7.0 Unknown - fix(desktop,manager): add --force-sr flag to resolve blank UI issues on MeshCentral (#44) - fix(desktop): fix manager app detection when launched from CLI - fix(manager): fix desktop app detection when launched from CL...
6.9 Unknown - fix(desktop,manager): blank UI on some machines (#44) - fix(desktop,manager): add logger with software-rendering diagnostics (#44) - fix(desktop): pre-stop and post-stop file dialogs not working - fix(installer): remov...
6.8 Unknown - perf(core): optimize encryption with modern high-performance crypto APIs - perf(manager): optimize Services tab performance - perf(manager): move console log sorting off the UI thread - fix(desktop): improve layout siz...
6.7 Unknown - fix(manager): restore decryption on refresh to fix field values - fix(ci): resolve coverlet runtime issue on net48 branch
6.6 Unknown - feat(manager): optimize background timer performance - fix(manager): remove unnecessary decryptions across all tabs - fix(manager): correct wrapper service path in Debug mode - fix(apps): ensure full application shutdo...
6.5 Unknown - feat(security): implement authenticated encryption using AES-CBC with HMAC-SHA256 - perf(core): improve performance and overall stability - fix(service): remove duplicate recovery flag reset - fix(net48): ensure SQLite...