2

私は自分のプロジェクトのインストール パッケージとして install4j を選択することにしました。他の多くの利点の中でも、アップグレードの組み込みサポートは、私が知る限り、この分野を凌駕しています。私は好奇心旺盛な質問があります..

「自家製」のインストールメカニズムでインストールされた製品の古いリリースのアップグレードをサポートするために必要なメタデータを使用して、install4j インストーラーを「ブートストラップ」するという概念をサポートするためのベストプラクティスまたは再利用可能なコードはありますか?

私が推測する多くのプロジェクトの場合と同様に、私たちのプロジェクトは何年も前から存在しており、Windows 用の InstallShield インストーラーと Unix 用の BASH スクリプトがごちゃまぜになっています。そのすべてを統合するために install4j を使用しています。

興味深いフォローアップの質問は次のとおりです。 1. API で isUpgradeInstallation() から返される値を設定する方法はありますか? 2. 新しいインストーラーにアプリケーション ID が埋め込まれたファイルを .install4j ディレクトリにドロップした場合、それで install4j を実行できますか?

どんなアイデア/ポインタも大歓迎です。

4

1 に答える 1

2

通常、レガシー アップグレードのケースを処理するカスタム ロジックを追加します。

ただし、ファイルを含む古いインストール ディレクトリに .install4j ディレクトリを作成することにより、レガシー インストールを「偽の」install4j インストールに変換できi4jparams.confます。その偽の構成ファイルでは、唯一の重要な情報はバージョン情報とアプリケーション ID であり、それ以外はすべて削除できます。

その後、context.isUpdateInstallation()true を返します。

于 2012-03-20T09:53:35.527 に答える