Is there a bug in setNativeLibraryInfo() ?

I'm writing a web start app that needs to make use of DLLs already installed on a user's machine. I wrote an installer extension that uses the ExtensionInstallerService to call setNativeLibraryInfo(), passing it the name of the folder containing the DLLs.

I've verified that the installer is being executed, and I can see in the web start cache that there's a file containing the path I passed to setNativeLibraryInfo, however I still get an UnsatisfiedLinkError when I try to call System.loadLibrary().

I downloaded the Extension Installer example from http://java.sun.com/developer/releases/javawebstart/index.html to see how that worked, however I found that this example app is not actually exercising the feature it advertises! It ends up circumventing the whole idea of a library path by saving the full path of the DLL it installs to a file and then using System.load() with the full path, instead of System.loadLibrary().

To verify the error I'm getting download that example app and change the line in Inst.java where it calls System.load(libPath), to instead call System.loadLibrary("inst").

Any help would be much appreciated. I've already spent a couple of days trying different solutions and searching for answers on the web.

Cheers,

Doug

[1302 byte] By [dougjanzena] at [2007-10-3 4:49:32]
# 1

Yes - this seems to be a bug in all versions.

JNLPClassLoader.findLibrary() will search only directories extraced from the jars files listed in the jnlp file with the <nativelib> tag.

It should also be searching the directory passed in the ExtensionInstaller.setNativeLibraryInfo() call.

/Andy

dietz333a at 2007-7-14 22:54:03 > top of Java-index,Desktop,Deploying...