私は Java を初めて使用し、webstart テクノロジを初めて使用します。私は jnlp xml ファイルをいじって、目的の「このアプリケーションを実行し、システムにない場合はオプションで JavaFX をインストールする」という動作を試してみました。ここに私のjnlpファイルがあります:
<?xml version='1.0' encoding='UTF-8' ?>
<jnlp spec='1.0' xmlns:jfx="http://javafx.com" codebase='http://localhost/java/app' href='launcher.jnlp'>
<information>
<title>Test Launcher</title>
<vendor>OzBarry</vendor>
<description kind='one-line'>
Test Launcher/JNLP/Webstart Demo
</description>
</information>
<resources>
<jfx:javafx-runtime version="2.1+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
</resources>
<resources>
<j2se version='1.6+' />
<property name="jnlp.packEnabled" value="true" />
<property name="jnlp.versionEnabled" value="true" />
<jar href='launcher.jar' main='true' />
</resources>
<application-desc main-class='demo.DemoLauncher' />
<update check="prompt-update"/>
</jnlp>
アプリケーションを起動すると、javafx をダウンロードするように求められます (既にインストールされている場合でも、これは少し面倒です)。ダウンロードが完了すると、アプリを起動しようとしますが、「where is the javafx ランタイム、わからないから!?」
私はJava 1.7(Java SE Runtime Environment 7u5)を搭載したWindows 7 32ビットを使用しており、新しくインストールされています(以前にJavaを完全にアンインストールし、一時ファイルを消去して、新規インストールを行いました)。