2013-03-01 23:55:22 +00:00
winsw: Windows service wrapper in less restrictive license
=========================
2020-03-24 15:53:20 +00:00
[](https://github.com/winsw/winsw/releases)
2016-12-11 19:11:16 +00:00
[](https://www.nuget.org/packages/WinSW/)
2020-03-24 16:43:37 +00:00
[](https://ci.appveyor.com/project/winsw/winsw)
2020-03-24 17:19:33 +00:00
[](https://gitter.im/winsw/winsw?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge)
2016-12-04 08:34:19 +00:00
2016-11-25 22:26:12 +00:00
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` .
2016-11-25 22:28:42 +00:00
### Why?
See the [project manifest ](MANIFEST.md ).
2016-11-25 22:26:12 +00:00
### Download
2020-03-24 15:53:20 +00:00
Starting from WinSW `2.x` , the releases are being hosted on [GitHub ](https://github.com/winsw/winsw/releases ) and [nuget.org ](https://www.nuget.org/packages/WinSW/ ).
2016-12-09 22:58:28 +00:00
2016-12-10 00:43:04 +00:00
Due to historical reasons, the project also uses [Jenkins Maven repository ](https://jenkins.io/index.html ) as a secondary source.
2016-11-25 22:26:12 +00:00
Binaries are available [here ](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/ ).
2019-05-09 23:26:48 +00:00
The executables in all sources are [strong-named assemblies ](https://msdn.microsoft.com/en-us/library/wd40t7ad%28v=vs.110%29.aspx ), which are being signed by randomly generated keys.
2016-12-10 00:40:04 +00:00
Do not rely on such strong names for security (as well as on other strong names as it recommended by Microsoft).
They provide a unique identity only.
2016-11-25 22:26:12 +00:00
### Usage
2016-11-25 20:56:39 +00:00
2016-11-25 22:36:39 +00:00
WinSW is being managed by configuration files: [Main XML Configuration file ](doc/xmlConfigFile.md ) and [EXE Config file ](doc/exeConfigFile.md ).
2016-11-25 20:56:39 +00:00
2016-11-25 22:26:12 +00:00
Your renamed `winsw.exe` binary also accepts the following commands:
2016-11-25 20:56:39 +00:00
* `install` to install the service to Windows Service Controller.
This command requires some preliminary steps described in the [Installation Guide ](doc/installation.md ).
2013-03-02 00:11:27 +00:00
* `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.
* `restart` to restart the service. If the service is not currently running, this command acts like `start` .
2016-12-10 00:31:00 +00:00
* `status` to check the current status of the service.
2017-06-15 07:09:16 +00:00
* 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.
2013-03-02 00:11:27 +00:00
2016-12-04 11:20:54 +00:00
### Supported .NET versions
2017-01-06 12:06:31 +00:00
#### WinSW 2.x
WinSW `2.x` 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.
#### WinSW 1.x
2016-12-04 11:20:54 +00:00
WinSW `1.x` Executable is being built with a .NET Framework `2.0` target, and by defaut it will work only for .NET Framework versions below `3.5` .
On the other hand, the code is known to be compatible with .NET Framework `4.0` and above.
It is possible to declare the support of this framework via the `exe.config` file.
See the [Installation Guide ](doc/installation.md ) for more details.
2016-11-24 03:02:30 +00:00
### Documentation
2013-03-02 00:11:27 +00:00
2017-05-05 13:35:50 +00:00
User documentation:
2016-11-25 20:56:39 +00:00
* [Installation Guide ](doc/installation.md ) - Describes the installation process for different systems and .NET versions
2016-11-25 21:00:30 +00:00
* [Release notes ](CHANGELOG.md )
2016-11-24 03:02:30 +00:00
* Configuration:
2017-04-27 23:03:07 +00:00
* [Main XML Configuration file ](doc/xmlConfigFile.md )
* [EXE Configuration File ](doc/exeConfigFile.md )
* [Logging and Error Reporting ](doc/loggingAndErrorReporting.md )
* [Extensions ](doc/extensions/extensions.md )
2016-11-24 03:02:30 +00:00
* Use-cases:
2017-04-27 23:03:07 +00:00
* [Self-restarting services ](doc/selfRestartingService.md )
* [Deferred File Operations ](doc/deferredFileOperations.md )
2016-11-30 18:54:07 +00:00
* Configuration Management:
2017-04-27 23:03:07 +00:00
* [Puppet Forge Module ](doc/puppetWinSW.md )
2015-01-28 13:40:12 +00:00
2017-05-05 13:35:50 +00:00
Developer documentation:
* [Developer Guide ](DEVELOPER.md )
2016-11-25 12:34:50 +00:00
### Release lines
#### WinSW 2.x
2016-12-30 14:25:42 +00:00
This is a new baseline of WinSW with several major changes:
* Major documentation rework and update
2016-12-09 21:41:06 +00:00
* New executable package targeting the .NET Framework `4.0` . .NET Framework `2.0` is still supported.
2016-12-30 14:25:42 +00:00
* [Extension engine ](doc/extensions/extensions.md ), 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
2016-12-09 21:41:06 +00:00
See the full changelog in the [release notes ](CHANGELOG.md#20 ).
The version `2.x` is **fully compatible** with the `1.x` configuration file format,
hence the upgrade procedure just requires replacement of the executable file.
2016-11-25 12:34:50 +00:00
#### WinSW 1.x
This is an old baseline of WinSW.
Currently it is in the maintenance-only state.
New versions with fixes may be released on-demand.
2015-02-04 12:18:01 +00:00