diff --git a/changelog.html b/changelog.html
index 81faa6cd0f..817463f335 100644
--- a/changelog.html
+++ b/changelog.html
@@ -63,6 +63,9 @@ Upcoming changes
+ -
+ UnsatisfiedLinkError on CreateSymbolicLinkw on Windows XP.
+ (issue 17343)
-
Flyweight tasks should execute on the master if there's no static
executors available.
diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java
index a2e2bb3373..21326e35f2 100644
--- a/core/src/main/java/hudson/Util.java
+++ b/core/src/main/java/hudson/Util.java
@@ -1065,6 +1065,9 @@ public class Util {
return;
}
throw e;
+ } catch (UnsatisfiedLinkError e) {
+ // not available on this Windows
+ return;
}
} else {
String errmsg = "";
diff --git a/core/src/main/java/hudson/util/jna/Kernel32Utils.java b/core/src/main/java/hudson/util/jna/Kernel32Utils.java
index ee76e82d7e..4a3365b581 100644
--- a/core/src/main/java/hudson/util/jna/Kernel32Utils.java
+++ b/core/src/main/java/hudson/util/jna/Kernel32Utils.java
@@ -80,6 +80,10 @@ public class Kernel32Utils {
* @param target
* If relative, resolved against the location of the symlink.
* If absolute, it's absolute.
+ * @throws UnsatisfiedLinkError
+ * If the function is not exported by kernel32.
+ * See http://msdn.microsoft.com/en-us/library/windows/desktop/aa363866(v=vs.85).aspx
+ * for compatibility info.
*/
public static void createSymbolicLink(File symlink, String target, boolean dirLink) throws IOException {
if (!Kernel32.INSTANCE.CreateSymbolicLinkW(