1

アプリケーションのインストール時に作成された2つの異なるランチャー(2つの異なるタスク用)を持つinstall4j(v4.x)プロジェクトがあります。2番目のランチャー(最終的なメディアファイルで指定されたものではない)に別の(2番目の)JREを指定する方法はありますか?

少しオフトピックですが...

なぜそれが必要なのですか?実際には、メインアプリケーションのJREを更新できるように、2番目のランチャー(アップデータータイプのアプリケーション)のメディアファイルからJREの完全なコピーが必要です。アップデータがアプリケーションと同じJREで動作する場合、それは実行できません。

たぶん、アプリケーションのJREを必要なもので更新するためのより良い方法がありますか?

PS install4j 5.xの新しいアップデート機能については知っていますが、いくつかの理由で使用していないため、今のところ問題外です。

4

1 に答える 1

1

これはどう:

  • [一般設定]->[Javaバージョン]で、環境変数MY_UPDATER_JAVA_HOME を検索シーケンスに追加し、リストの一番上に移動します。

  • インストーラーで、「ファイルとディレクトリーのコピー」アクションを使用して、JREを他のディレクトリーに複製します。

  • [インストーラー]->[画面とアクション]で、空のカスタムインストーラーアプリケーションを追加し、その[デフォルトの実行モード]プロパティを[無人モード]に設定します

  • 新しいインストーラーアプリケーションの「スタートアップ」ノードに「実行可能ファイルまたはバッチファイルの実行」アクションを追加します。そのアクションで、アップデータランチャーを呼び出します。「特定の環境変数」プロパティMY_UPDATER_JAVA_HOMEで、コピーしたJREの場所を設定します。

次に、アップデーターではなくインストーラーアプリケーションを直接呼び出すと、複製されたJREで実行されます。

2つのJREをインストールディレクトリに残したくない場合は、[デフォルトの実行モード]プロパティを[進行状況ダイアログ付きの無人モード]に変更し、[ファイルとディレクトリのコピー]アクションを追加してJREを特定のディレクトリにコピーできます。一時ディレクトリにあるディレクトリ(まだ存在しない場合)。

于 2012-10-18T07:54:18.430 に答える