When Jenkins tries to install the JDK on a Win XP Pro SP 3 (32 Bit) slave, it wants to run this command line:
[Java_1.7.0] $ C:\.jenkins\tools\hudson.model.JDK\Java_1.7.0\jdk.exe /s /v /qn /L \"C:\.jenkins\tools\hudson.model.JDK\Java_1.7.0\jdk.exe.install.log\" REBOOT=ReallySuppress INSTALLDIR=\"C:\.jenkins\tools\hudson.model.JDK\Java_1.7.0\"
The problem is that this leads to msiexec hanging forever and a day, hence the job hangs forever and a day.
The cause is the backslashes before the quotes. They must get removed (at least on Win XP Pro SP3, maybe on ALL versions of Windows?).
Proof of cause: Type in the command line as it is, but remove the "/qn" to see the actual output of msiexec. You will immediately see that msiexec prompts you with the help screen and then waits for OK to be pressed, as this is the usual way msiexec tells you about syntax errors!
Proof of solution: Type in the same command line as it is, but remove the backslashes prefixing the double quotes. The installation runs to the end without any hangs of msiexec in the task manager. You will end up with Java 7 installed in the target folder.
I have not found any workaround so far. Even manually executing the corrected command line does not convince Jenkins to not try to run the same command line again. So this is a blocker and should get fixed ASAP.
|