I'm writing an optional package (extension) that uses a native installer to place my jar file in the lib/ext directory as well as copy a few needed dlls to the user's system. The download and installation process works great, but every time I load an applet that requires this optional package, it wants to download and install it again. I would think the problem has to do with the version numbers in the manifests, but they are correct according to the docs on Sun's site. If anyone has any suggestions, your help would be greatly appreciated.
posted 19 years ago
Ok, I found my own solution, but I thought I'd post it in case somebody else runs into the same problem. First, a reprisal of the problem: Every time you open an applet that requires the optional package I'm writing, the jvm would download the native installer and re-install the extension and the required dlls and ActiveX control and the whole lot. Really, it should only do this the first time. It shouldn't need to install anything on subsequent visits. The way it's supposed to work: The jvm will compare info in the applet's manifest to the info in the installed extension's manifest to make sure the extension is a new enough version and from the correct vendor. If it can't find the extension or if the one installed is incorrect, it downloads and installs the one mentioned in the applet's manifest. Here's what I did wrong: Some of the lines in some of my manifests had trailing white space. Evidently, "com.mycompany.myextension " is not equal to "com.mycompany.myextension" Thus, the jvm didn't think the extension the applet wanted had been installed. The moral of the story: Make sure there's no trailing white space on any line in your manifests. (including the applet's jar, the installer's jar and the extension's jar.)