How do I start/stop/create/remove/check a service?
From NSIS Wiki
Jump to navigationJump to search
There are currently 6 known methods to handle services using NSIS scripting:
- Use Sunjammer's services plug-in: Services.zip (20 KB).
- Use dselkirk's NSIS Service Lib.
- Use sl's nsSCM
- Use doberlec's all-in-one Swiss scripting knife - Nopey.
- Use Speed78's NSIS Simple Service Plugin
- Execute the NET command (use Exec, ExecWait or nsExec).
- Execute your service EXE with special command line switches telling it what to do (use Exec, ExecWait or nsExec).
- Execute sc.exe that comes with WinXP (C:\windows\system32\sc.exe). Also allows to define specific user account to run the service.
Addition to Sunjammer's services plug-in to autostart services
// in sendservicecommand.c else if (stricmp("autostart",command) == 0) { okay = ChangeServiceConfig(hService, SERVICE_NO_CHANGE,SERVICE_AUTO_START,SERVICE_NO_CHANGE ,NULL,NULL,NULL,NULL,NULL,NULL,NULL ); } else if (stricmp("manualstart",command) == 0) { okay = ChangeServiceConfig(hService, SERVICE_NO_CHANGE,SERVICE_DEMAND_START,SERVICE_NO_CHANGE ,NULL,NULL,NULL,NULL,NULL,NULL,NULL ); }