Git Product home page Git Product logo

winsw's Introduction

winsw: Windows service wrapper in less restrictive license

Github All Releases NuGet Build status

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

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.

Build Environment

  • IDE: Visual Studio Community 2013 (free for open-source projects)
  • winsw_key.snk should be available in the project's root in order to build the executable
  • You can generate the certificate in "Project Settings/Signing"
  • The certificate is in .gitignore list. Please do not add it to the repository

winsw's People

Contributors

oleg-nenashev avatar kohsuke avatar olegd avatar rasa avatar kenmaglio avatar mpana avatar bernhardberbuir avatar daniel-beck avatar edwinf avatar ryanlea avatar r-murphy avatar steboo avatar thelateroomsgroup avatar vlatombe avatar beatcracker avatar iforapsy avatar mereth avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.