Go to file
Michael Karmazin 621ad44ca1
Update README.md with 'stopwait' command description
2020-04-09 12:59:09 +00:00
.github Update tag format 2020-04-06 22:27:33 +08:00
doc Merge pull request #474 from NextTurn/accounts 2020-04-06 10:08:28 +02:00
eng Disable PR trigger in release builds 2020-04-09 17:02:02 +08:00
examples Support security descriptor string 2020-03-28 14:50:19 +08:00
src Add stopwait command 2020-04-09 12:59:05 +00:00
.gitignore Update .gitignore 2020-04-06 14:01:59 +08:00
CHANGELOG.md Update documentation headers 2020-04-01 21:52:12 +08:00
CONTRIBUTING.md Initialize contributing guidelines 2020-03-29 11:57:04 +08:00
Directory.Build.props Produce ready-to-publish artifacts in build phase for AppVeyor 2020-01-27 17:24:49 +08:00
Directory.Build.targets Disable MMI 2020-02-18 11:37:31 +08:00
LICENSE.txt Update license for GitHub 2020-03-17 08:24:05 +08:00
MANIFEST.md Clean up documentation 2020-04-01 13:02:47 +08:00
README.md Update README.md with 'stopwait' command description 2020-04-09 12:59:09 +00:00
WinSW.nuspec Merge pull request #452 from winsw/nuget-dotnet-461 2020-03-25 11:09:05 +01:00
appveyor.yml Merge pull request #384 from NextTurn/config 2020-02-05 12:47:27 -05:00
generate-key.ps1 Update DEVELOPER.md 2020-01-15 17:32:04 +08:00

README.md

winsw: Windows Service Wrapper in less restrictive license

Github All Releases NuGet Build Status Gitter 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.

Why?

See the project manifest.

Download

Starting from WinSW v2, the releases are being hosted on GitHub and NuGet.

Due to historical reasons, the project also uses the Jenkins Maven repository as a secondary source. Binaries are available here.

Usage

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 like start.
  • status to check the current status of the service.
    • This command prints one line to the console.
      • NonExistent indicates the service is not currently installed
      • Started to indicate the service is currently running
      • Stopped to indicate that the service is installed but not currently running.

Supported .NET versions

WinSW v2

WinSW v2 offers two executables, which declare .NET Frameworks 2.0 and 4.0 as targets. More executables can be added on-demand. Please create an issue if you need such executables.

Documentation

User documentation:

Developer documentation:

Release lines

WinSW v2

This is a new baseline of WinSW with several major changes:

  • Major documentation rework and update
  • New executable package targeting the .NET Framework 4.0. .NET Framework 2.0 is still supported.
  • Extension engine, which allows extending the wrapper's behavior. And a couple of extensions for it (Shared Directory Mapper, Runaway Process Killer)
  • New release hosting: GitHub and NuGet
  • Migration of the logging subsystem to Apache log4net
  • Bugfixes

The version v2 is fully compatible with the v1 configuration file format, hence the upgrade procedure just requires replacement of the executable file.

License

WinSW is licensed under the MIT license.