16
votes

I have created .exe in .net and want to use as a service, run all time on my local machine. I am using windows server 2012. how to setup a service on my local computer.

**You can use windows shell script for create service with commands **

The sc create command performs the operations of the CreateService API function.

Here's what to do ...

  1. copy the "yourapplication.exe " to a suitable location on your Win2012 server (e.g. C:\Windows\System32\ ).

  2. Use "sc " to create a new service that launches "srvany " (e.g. sc create "Servicename" binPath= "C:'Windows'System32'srvany.exe" DisplayName= "My Custom Service" )

  3. Using RegEdit : create a "Parameters " key for your service (e.g. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Servicename\Paramaters)

  4. Using RegEdit : within the newly created "Parameters " key , create a string value called "Application " and enter the full path to the application you are wanting to run as a service. (No quotes required.)

Syntax:-

sc [] create [] [type= {own | share | kernel | filesys | rec | interact type= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= ] [group= ] [tag= {yes | no}] [depend= ] [obj= { | }] [displayname= ] [password= ]

More...

2
srvany.exe does not exist in stock Windows installations.Dai
I just did it using Non Sucking Service Manager on Windows Server 2012 and it worked pretty fine. It does the registry foo for you.jaw
This detailed answer helped me, it also describes how to use NSSM.exe: stackoverflow.com/questions/3582108/…user584572

2 Answers

13
votes

You can just do that too, it seems to work well too. sc create "Servicename" binPath= "Path\To\your\App.exe" DisplayName= "My Custom Service"

You can open the registry and add a string named Description in your service's registry key to add a little more descriptive information about it. It will be shown in services.msc.

10
votes

You can use PowerShell.

New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"

Refer - https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-service?view=powershell-3.0