You are on page 1of 1

Why GitHub?

Enterprise Explore Marketplace Pricing Search Sign in Sign up

kohsuke / winsw Watch 173 Star 3.7k Fork 642

Code Issues 141 Pull requests 24 Actions Projects 2 Wiki Security Insights

Dismiss
Join GitHub today
GitHub is home to over 40 million developers working together to host and
review code, manage projects, and build software together.

Sign up

A wrapper executable that can be used to host any executable as an Windows service, in a liberal license http://repo.jenkins-
ci.org/releases/c…

496 commits 3 branches 0 packages 38 releases 32 contributors View license

Branch: master New pull request Find file Clone or download

oleg-nenashev Merge pull request #420 from NextTurn/cli … Latest commit 2d1ffba 6 days ago

.github Add CODEOWNERS to automate code review requests 2 months ago

doc Fix document about defer file operation 6 months ago

examples Fix configuration samples last month

src Revert CLI behaviors in non-interactive mode 10 days ago

.gitignore Produce ready-to-publish artifacts in build phase for AppVeyor last month

CHANGELOG.md Reference GitHub Releases from the old changelog.md last month

DEVELOPER.md Update DEVELOPER.md 2 months ago

Directory.Build.props Produce ready-to-publish artifacts in build phase for AppVeyor last month

Directory.Build.targets Disable MMI 13 days ago

LICENSE.txt Update license 19 days ago

MANIFEST.md Docs: Decouple the project manifest to a standalone page 3 years ago

README.md Typo in README 10 months ago

WinSW.nuspec Produce ready-to-publish artifacts in build phase for AppVeyor last month

appveyor.yml Merge pull request #384 from NextTurn/config 25 days ago

generate-key.ps1 Update DEVELOPER.md 2 months ago

README.md

winsw: Windows service wrapper in less restrictive license


downloads 885k nuget v2.6.2 build passing

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 2.x , the releases are being hosted on GitHub and nuget.org.

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

The executables in all sources are strong-named assemblies, which are being signed by randomly generated keys. 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.

Usage
WinSW is being managed by configuration files: Main XML Configuration file and EXE Config 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.

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 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

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 for more details.

Documentation
User documentation:

Installation Guide - Describes the installation process for different systems and .NET versions
Release notes
Configuration:
Main XML Configuration file
EXE Configuration File
Logging and Error Reporting
Extensions
Use-cases:
Self-restarting services
Deferred File Operations
Configuration Management:
Puppet Forge Module

Developer documentation:

Developer Guide

Release lines

WinSW 2.x

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

See the full changelog in the release notes.

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.

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.

© 2020 GitHub, Inc. Terms Privacy Security Status Help Contact GitHub Pricing API Training Blog About

You might also like