Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/birkett/srvany-ng

Run any Windows application as a Service. Drop-in compatible replacement for "srvany.exe" from the W2K3 Resource Kit.
https://github.com/birkett/srvany-ng

Last synced: 12 days ago
JSON representation

Run any Windows application as a Service. Drop-in compatible replacement for "srvany.exe" from the W2K3 Resource Kit.

Awesome Lists containing this project

README

        

# srvany-ng: Run any Windows application as a Service
A drop in, compatible, replacement for the useful "srvany.exe", found in the Windows Server Resource Kit.

Written in C, for Windows XP and newer.

## Support Me
[![Donate Via Paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CALMNQUWLZNYL)



## Differences to the original
* Open Source
* 32 and 64 bit binary available
* Unicode (default) and Multibyte Character Set (MBCS) binaries available
* No OS/2 application support
* Service will stop if the launched application exits
* Added optional configuration to automatically restart the target application on exit

## Building
Solution is known to build with Visual Studio 2022, no additional dependencies are needed. The project uses the "v141_xp" toolset to ensure XP / 2003 support, and links to the MSVCRT statically.


## Installing
Place srvany-ng in an accessible folder on your system.
Install it as a service from an Elevated (Administrator) Command Prompt:
```winbatch
sc create "MyServiceName" start= auto binPath= "C:\Path\To\srvany-ng.exe"
sc description MyServiceName "My services description"
```
Note the spaces between `start=`, `binPath=` and their parameters. This is intended.

Now, open the Registry editor (`regedit.exe`), and browse to:
`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyServiceName`

Create a new Key named "Parameters".
In the parameters key, create a new String value named "Application". The value should be the file path to the application you wish to run as a service.

#### Optional Parameters
| Value name | Value type | Description |
|----------------|--------------------|---------------------------------------------------------------------------------------------------|
| AppDirectory | String value | The starting directory for your application. Usually the same as the folder its executable is in. |
| AppParameters | String value | Command line arguments to pass to your application on startup. |
| AppEnvironment | Multi-String value | Environment variables to set for your application. |
| RestartOnExit | DWORD value | If set to 1, and the application exits, srvany-ng will automatically restart it. |

## Further Reading
Microsoft support article describing the use of the original srvany.exe: https://support.microsoft.com/en-us/kb/137890