![]() * Add pre-release badge * Update XML spec for `<username>` * Update exit codes * Update XML spec for `<prompt>` * Create migration guide * Add a note for the previous version * docs -> documentation * * Format usage * Talk to myself * * Add deployment status badge * Update version strings * Update README title * Link to the migration guide * * Remove .NET Core version number * Delete exe-config-file.md * Update README.md * migration-guide.md -> migrate-to-3-x.md |
||
---|---|---|
.github | ||
docs | ||
eng | ||
samples | ||
src | ||
.gitignore | ||
CONTRIBUTING.md | ||
Directory.Build.props | ||
LICENSE.txt | ||
MANIFEST.md | ||
README.md | ||
WinSW.nuspec |
README.md
Windows Service Wrapper in a permissive license
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.
We are actively developing WinSW v3. Please refer to the v2 branch for previous version documentation.
Please help us prioritize items by voting or commenting on the issues!
Why?
See the project manifest.
Supported platforms
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 based on .NET Core.
More executables can be added upon request.
Download
WinSW binaries are available on GitHub Releases and NuGet.
Alternative sources:
- Maven packaging for executables, hosted by the Jenkins project. Binaries are available here.
Usage
WinSW is being managed by the XML configuration file.
Your renamed WinSW.exe binary also accepts the following commands:
-
install
Install the service to Windows Service Controller. This command requires some preliminary steps described in the Installation guide.
-
uninstall
Uninstall the service. The opposite operation of above.
-
start
Start the service. The service must have already been installed.
-
stop
Stop the service.
-
stopwait
Stop the service and wait until it's actually stopped.
-
restart
Restart the service. If the service is not currently running, this command acts like
start
. -
status
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 2.8, WinSW will prompt for UAC in non-elevated sessions.
Documentation
User documentation:
- Installation guide - Describes the installation process for different systems and .NET versions
- Migration guide - Migrate to WinSW 3.x.
- Configuration:
- Use-cases:
Developer documentation:
Contributing
Contributions are welcome! No Contributor License Agreement is needed, just submit your pull requests. See the contributing guidelines for more information.
License
WinSW is licensed under the MIT license.