WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service. Once you download the installation package, you can rename WinSW.exe to any name, e.g. MyService.exe.
See the project manifest.
WinSW offers executables for .NET Framework 2.0, 4.0 and 4.6.1. It can run on Windows platforms which have these versions of .NET Framework installed. For systems without .NET Framework, the project provides native 64-bit and 32-bit executables which are based on .NET Core 3.1.
More executables can be added upon request.
WinSW binaries are available on GitHub Releases and NuGet.
Alternative sources:
- Maven packaging for executables, hosted by the Jenkins project. Binaries are available here.
- Puppet, currently outdated (WinSW 1.x). Binaries are available on Puppet Forge
WinSW is being managed by configuration files: Main XML configuration file and EXE configuration file.
Your renamed WinSW.exe binary also accepts the following commands:
install
to install the service to Windows Service Controller. This command requires some preliminary steps described in the Installation guide.uninstall
to uninstall the service. The opposite operation of above.start
to start the service. The service must have already been installed.stop
to stop the service.stopwait
to stop the service and wait until it's actually stopped.restart
to restart the service. If the service is not currently running, this command acts likestart
.status
to check the current status of the service.- This command prints one line to the console.
NonExistent
indicates the service is not currently installedStarted
to indicate the service is currently runningStopped
to indicate that the service is installed but not currently running.
- This command prints one line to the console.
Most commands require Administrator privileges to execute. Since v2.8, WinSW will prompt for UAC in non-elevated sessions.
User documentation:
- Installation guide - Describes the installation process for different systems and .NET versions
- Configuration:
- Use-cases:
- Configuration Management:
Developer documentation:
Contributions are welcome! No Contributor License Agreement is needed, just submit your pull requests. See the contributing guidelines for more information.
WinSW is licensed under the MIT license.