Installing Jenkins Slave as Service on win8.1 and win10

zalimgandhera picture zalimgandhera · Apr 8, 2016 · Viewed 24.6k times · Source

I am trying to install Jenkins slave 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 slave 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 master is running on windows 7. Thanks, Daniel

Answer

Steve Brownell picture Steve Brownell · May 10, 2016

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.