views:

40

answers:

1

How can I install a service under a different account than the LocalSystem account using Win32 API?

I am using the following code to install the service. I want to install this service under a different account. The last two parameters take username and password but when I give so it throws an error. Is there any specific way of giving username and password here?

IntPtr sv_handle = CreateService(sc_handle, svcName, svcDispName,
                     SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
                     SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,
                     svcPath, null, 0, null, null, null);
A: 

What format are you using for lpServiceStartName?

It needs to be machinename\\username (or .\\username) if the user name is local or part of a workgroup otherwise it should be domainname\\username.

Alex K.
.\\username worked ...tx
taher chhabrawala