0

Install4Jでラップされたアプリケーションで次のことを実行したいと思います。

  • ラップされたJavaアプリのコードからInstall4Jアップデーターを呼び出す
  • 利用可能なアップデートがある場合は、Install4JIDEで構成されたGUIダイアログをユーザーに表示します
  • 必要に応じて、カスタムプロキシパラメータをアップデータに渡します

Install4Jを理解できる限り、次の方法で実行できるはずです。

List<String> args = new ArrayList<String>();
args.add("-DproxySet=true");
args.add("-DproxyHost="+MY_PROXY_SERVER);
args.add("-DproxyPort="+MY_PROXY_PORT););
args.add("-DproxyAuth=true");
args.add("-DproxyAuthUser="+MY_PROXY_USERNAME);)
args.add("-DproxyAuthPassword="+MY_PROXY_PASSWORD);

ApplicationLauncher.launchApplicationInProcess(
    MY_UPDATER_ID.toString(), 
    args.toArray(new String[args.size()]),
    null, 
    ApplicationLauncher.WindowMode.FRAME, 
    null);

しかし、プロキシの詳細を入力するためのポップアップが表示され続けます。

プレフィックスが「-D」にならないようにパラメーターを変更し、アップデーターをコンソールモードまたは無人モードに切り替えて、パラメーターを渡さずに、System.setProperty()を使用して直接JVMに配置しようとしましたが、成功しませんでした。私はいつもプロキシポップアップまたは「アップデート情報を____からダウンロードできませんでしネットワーク設定を確認してください」というメッセージで終了しました。

また、アップデータを繰り返し呼び出したが、パラメータが異なる場合、最初の呼び出しで使用したものが常にポップアップに表示されます。

何か助けはありますか?前もって感謝します。

4

1 に答える 1

0

EJ-tehnologies (Install4J の開発者) からのサポートのおかげで、プロキシが機能するようになりました。質問をしている時点では v5.0.11 を使用していましたが、v5.1.2 (その時点での最新の安定ビルド) を使用するように指示されました。そして最後に、ベータ リリース v5.1.3 の使用を終了しました (現時点では公開されていません)。

ポップアップなしで動的パラメータを使用してプロキシを機能させる方法の詳細:

  • 上記のコードに、Install4J がシステム全体のプロキシ設定を検出できないようにする追加の引数を追加します。

    args.add("-Dinstall4j.noProxyAutoDetect=true");
    
  • ApplicationLauncher.launchApplication()Install4J ラッパーを呼び出すメソッドを使用して、新しい JVM で起動します。このように開始する必要があるのは、JVM が既存の環境変数を処理するためです。したがって、同じ JVM で Install4J を開始し、その JVM に引数を追加すると、Install4J は最新の値を選択しない可能性があります (これは、プロキシ パラメータを動的に変更する場合です)。

  • v5.1.3 が安定するのを待ってからダウンロードしてください。これは、Install4J にプロキシ パラメータが明示的に指定されている場合に、プロキシ ポップアップ ダイアログの「非表示」をサポートするためです (これは私の推測です。EJ の人々の名前で話しているわけではありません-技術)

于 2012-08-03T15:13:44.763 に答える