Ahh, now I understand.
The problem is that Sun's JNLP implementation is tied to WebStart so there's no way to use the former independent of the latter. That said, there are a number of alternative implementations of JNLP that don't use WebStart (or any other launcher for that matter) which you can use to programatically manage auto-updates of your app.
One place where this became essential (for me) was when I was doing some work with JXTA in a former life, and needed to automatically update the local instance (jars & native libs) of a remotely defined service. Without getting into too many off-topic details, I couldn't use WebStart because all this had to happen from within a running JXTA client, for services that also had to run inside that client.
I used OpenJNLP (http://openjnlp.nanode.org
) in the JNLPLoader for JXTA and found it worked pretty well. It's open source, but It hasn't been updated since last December, so I'm not sure whether there's any new development happening.
Still, if you can live with launching your app from a .jnlp file, WebStart has much more complete support for JNLP than any other implementation so far.