技術に詳しくないさまざまなエンド ユーザーに配布する必要がある、動作中の JNLP アプリケーションがあります。
ユーザーのマシンに最近の JVM がインストールされている場合は、すべて問題ありません。私が送信した JNLP ファイルをダブルクリックするだけで、後は Java Web Start が行います。
ここで、JVM の有無にかかわらず動作するものを配布したいと考えています。たとえば、.exe
互換性のある JVM が存在しない場合に自動ダウンロードし、呼び出しjavaws.exe
て .jar ファイルをダウンロードし、アプリケーションを起動するファイルなどです。
Launch4J は私が見つけた中で最も近いものですが、 を介してプログラムを起動することはできませんjavaws.exe
。唯一のオプションはjava
、javaw
次のことができる製品を希望します。
.exe
JVM の事前インストールを必要としない自己完結型のファイルを生成する- ファイルを解析し、
.jnlp
必要に応じてダウンロードする正しい JVM を決定します (Java Web Start が必要に応じて JVM をダウンロードできることは知っていますが、1 つ目は Java Web Start をブートストラップするため、2 つ目はアプリケーションを実行するためのものです)。特定の異なる JVM が必要になる場合があります。) - ユーザーを Java ダウンロード ページに誘導したり、新しいインストール ウィザードを開いたりするだけでなく、JVM を自動的にダウンロードしてインストールします。
- 必要に応じて管理者パスワードの入力を求めます (JVM をインストールするためのアクセス許可です。これは Sun JVM インストーラーに組み込まれているとは思いません)。
- セキュリティ ダイアログを 1 つだけ表示します (生成されたファイルを信頼することを確認するためにユーザーに 1 回だけプロンプトを表示したいのですが、同じソースから取得され、同じ証明書で署名され
.exe
たファイルを信頼することを確認するための 2 回目のプロンプトは望んでいません)。.jar
.) これには、自動ダウンローダーが JWS を起動する前に証明書をインストールする必要があると思います.) - (必須ではありません)
.jar
JVM と同時にバックグラウンドでアプリケーション リソース (ファイルなど) をダウンロードします。これには、JVM をインストールする前にキャッシュを実行する必要があるため、キャッシュをネイティブ コードで実装し、DownloadService
後で JNI を使用してキャッシュに接続する必要があります。
このような製品は存在しますか?そうではないと思いますが、試してみる価値はあります。
更新いくつかの関連する問題の解決策が記載されているこの記事を見つけましたが、これはオフライン インストール用に設計されており、主にオンライン インストールに関心があります。