Search code examples
windowsjenkinsjenkins-pluginsjenkins-agent

Installing Jenkins agent as service on win8.1 and win10


I am trying to install Jenkins agent service after starting the slave via web start. I get the following error when it tries to install on windows 10 and windows 8.1.

[JenkinsWorkDirectory]$ c:\JenkinsWorkDirectory\jenkins-slave.exe install
WMI.WmiException:AccessDenied
at WMI.WmiRoot.ClassHandler.Invoke(Object proxy, MethodInfo method, Object[] args)
at WMI.Win32ServicesProxy.Create(String, String, String, ServiceType, ErrorControl, StartMode, Boolean, String, String, String[])
at winsw.WrapperService.Run(String[]_args,ServiceDescriptor descriptor)
at winsw.WrapperService.Main(String[]args).

I can install the agent service without any issue on win 7. Any idea why is this happening or is it some limitation of Jenkins or am I missing some dependency?

My Jenkins version is 1.655 and using chrome browser when installing. Jenkins controller is running on windows 7.


Solution

  • I found another way to get the slave to install.

    1. Open a command window with "Run as Administrator".
    2. Change directory to the place where you saved the slave-agent.jnlp file.
    3. at the prompt run "slave-agent.jnlp"
    4. Now with the running slave click the menu item to "Install as Service".

    The trick is to do it while running as an administrator. This installs the service running under localsystem.

    Additionally, if you're like me and you need your jenkins routines to hit another machine, you'll need to change the service to run as a user with permission (network or otherwise) to do the task you want done.