NSSM - the Non-Sucking Service Manager

Known bugs

Version 2.12: Despite what the documentation says, NSSM does not correctly configure the service to treat graceful exits with a non-zero exit code as a failure. This means that the only way to trigger a recovery action when the service does not actually crash is to set AppExit to Suicide.

Fixed in 2.13.

Version 2.12: Compilation will succeed with Visual Studio 2010 but the resulting executable will not run on versions of Windows older than XP SP2. Compile with Visual Studio 2008 if you need back compatibility.

Troubleshooting

nssm logs its activity to the system Event Log (under Application) so if you're having trouble with it, look in there for clues as to what's wrong!