Sw4me: Winserv (Print version)

Winserv is an utility that can create an NT service that runs any application. When the application exits, the service becomes stopped. It is also able to manage local and remote NT services that were not created by winserv.

Winserv is used now in ProjectForum and CourseForum as a wrapper for running these applications as NT services.

Register Now. Winserv is both free and open-source, but you may express your interest in the further Winserv development by supporting it with voluntary donation of $20.
Release Notes and Change Log

The intended audience of Winserv consists of the very different people:
Thus It's almost impossible to provide the documentation suitable for anyone in such different groups. So we encourage you to skip calmly the pieces of documentation that seems unclear. Usually it means that the piece is not for you and you don't need to understand it.

Winserv can be used as a command-line utility to configure, control, view status of any NT service, whether it is winserv-based or not. Winserv can interact with a remote machine's service control manager. When you use winserv from a command prompt, just prepend \\Machine\ to the service name if you want to operate with remote service:

The service name that winserv requires is not the display name of the service, but rather the internal unique name.

Winserv is designed with scripting languages in mind, TCL in particular. It can forward SCM control requests to the application in different ways, enabling you to do any cleanup on stop and to implement “paused” service state.

Winserv contains a little TCL package that lets you use it as a drop-in replacement for tclsvc.

Winserv command-line reference
Winserv internals
TCL-specific notes
Using winserv with Win32 console programs

Licensing and Redistribution