私はJavaデスクトップアプリケーションを持っており、メインアプリケーションのインストーラーでjarとして配布しています(現在、Javaアプリケーションはインポーター/エクスポーターのみです)。ただし、jarはメインアプリケーションよりも頻繁に更新されるため、Java Web Startを介して実行することを検討しているため、起動時に個別に更新されます。
私の質問は、インストーラーでそれを配布する方法です。ユーザーがインターネットを持っていない場合は、インストーラーのjarバンドルを使用します(メインアプリケーションフォルダーにコピーします)が、起動してインターネットを使用すると、JavaWebStartで更新されます。 ?
編集: 2つのJNLPファイルをローカル起動用とオンライン起動用に作成して更新することを考えましたが、キャッシュされたjarを共有する必要があるため、2回インストールされません。これが可能。
編集、より多くの説明:
多分私はそれをあまりよく説明していません。私はネイティブアプリケーションを持っており、ダウンロードからCDを介してMSIとして配布されています。このアプリケーションでは、メインアプリケーションが他の形式にデータを交換するために使用したJavaアプリケーション(jar)を配布します。MSIは、ネイティブアプリとjarのコピーの両方をインストールします(実際にはインストールされません)。これで、ユーザーがインターネットを使用していて、新しい更新が公開された場合、完全なMSIがダウンロードされてインストールされます(インストールを更新します)。Ok?
ええと、Java Web Startを使用して、よりファッション的なアプローチでjarのみを更新したいので、jarがメインアプリから独立して実行されたときに更新されます。これには、Java Web Startとしてのみ展開する場合、ユーザーがインターネットのないコンピューターにアプリをインストールすると(たとえば、ペンドライブやCDでMSIを携帯している場合)、アプリを使用できないという問題があります。彼はインターネットを持っていないので、jarファイルをダウンロードできません。
そして今、私の質問が来たとき、MSIにjarをデプロイできますが、Java Web Startを介して実行できるため、ユーザーがインターネットを使用している場合は更新されますが、インターネットを使用していない場合でも、MSIでバンドルjarを使用できます。 ?