From a8a931d8ec9f4d82a0fe426538fccab6d473e557 Mon Sep 17 00:00:00 2001 From: Jerome Lacoste Date: Thu, 3 Feb 2011 22:20:25 +0100 Subject: [PATCH] JENKINS-8676 Windows XP slave stopped working in 1.396 (related to name change) The ManagedWindowsServiceLauncher refers to hudson.exe and hudson-slave.exe while we renamed the artifact to jenkins.exe. Tentative fix, completely untested (no windows box around). Not sure about the service name (jenkinsslave). I added a second check for backward compatibility but I have no idea if it's useful. --- .../os/windows/ManagedWindowsServiceLauncher.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/hudson/os/windows/ManagedWindowsServiceLauncher.java b/core/src/main/java/hudson/os/windows/ManagedWindowsServiceLauncher.java index 7b9700eba5..0853b02090 100644 --- a/core/src/main/java/hudson/os/windows/ManagedWindowsServiceLauncher.java +++ b/core/src/main/java/hudson/os/windows/ManagedWindowsServiceLauncher.java @@ -212,14 +212,14 @@ public class ManagedWindowsServiceLauncher extends ComputerLauncher { // copy exe logger.println(Messages.ManagedWindowsServiceLauncher_CopyingSlaveExe()); - copyStreamAndClose(getClass().getResource("/windows-service/hudson.exe").openStream(), new SmbFile(remoteRoot,"hudson-slave.exe").getOutputStream()); + copyStreamAndClose(getClass().getResource("/windows-service/jenkins.exe").openStream(), new SmbFile(remoteRoot,"jenkins-slave.exe").getOutputStream()); copySlaveJar(logger, remoteRoot); - // copy hudson-slave.xml + // copy jenkins-slave.xml logger.println(Messages.ManagedWindowsServiceLauncher_CopyingSlaveXml()); String xml = WindowsSlaveInstaller.generateSlaveXml(id,"javaw.exe","-tcp %BASE%\\port.txt"); - copyStreamAndClose(new ByteArrayInputStream(xml.getBytes("UTF-8")), new SmbFile(remoteRoot,"hudson-slave.xml").getOutputStream()); + copyStreamAndClose(new ByteArrayInputStream(xml.getBytes("UTF-8")), new SmbFile(remoteRoot,"jenkins-slave.xml").getOutputStream()); // install it as a service logger.println(Messages.ManagedWindowsServiceLauncher_RegisteringService()); @@ -228,7 +228,7 @@ public class ManagedWindowsServiceLauncher extends ComputerLauncher { int r = svc.Create( id, dom.selectSingleNode("/service/name").getText()+" at "+path, - path+"\\hudson-slave.exe", + path+"\\jenkins-slave.exe", Win32OwnProcess, 0, "Manual", true); if(r!=0) { listener.error("Failed to create a service: "+svc.getErrorMessage(r)); @@ -310,7 +310,10 @@ public class ManagedWindowsServiceLauncher extends ComputerLauncher { JISession session = JISession.createSession(auth); session.setGlobalSocketTimeout(60000); SWbemServices services = WMI.connect(session, computer.getName()); - Win32Service slaveService = services.getService("hudsonslave"); + Win32Service slaveService = services.getService("jenkinsslave"); + if(slaveService==null) { // backward compatibility. is this needed ? + slaveService = services.getService("hudsonslave"); + } if(slaveService!=null) { listener.getLogger().println(Messages.ManagedWindowsServiceLauncher_StoppingService()); slaveService.StopService(); -- GitLab