The Windows Services Option Pack

The Windows Services Option Pack provides code that allows you to run your server as a service. The code with this option pack offers tight integration with the code in The Server Framework’s Core Framework and comes with many example servers that provide a jump start into building your server as a service. The Windows Services Option Pack also integrates with The Performance Counter Option Pack, again with example servers, so that building a server as a service that exposes performance counters is quick and easy.

Highlights of The Windows Services Option Pack include:

  • Multiple instance services; run your service concurrently, multiple times, on a single machine with different ‘instance names’ and configuration options.
  • Support for all service control codes, including user defined codes.
  • Full support for device notifications via RegisterDeviceNotification() and power notifications via RegisterPowerSettingNotification().
  • Ability to run the service as a normal executable, either for ease of debugging inside of Visual Studio or simply for flexibility.
  • Programatic interface for shutting the service down cleanly from inside the server, to allow you to easily write code that allows your server to shut itself down.
  • Integrates with The Core Framework to provide asynchronous logging.
  • Provides extensible command line interface to install and remove the service and associated performance counters or instances complete with easy to define service specific command line options.

See here and here for example servers.

See here for documentation.