2011-12-20 13 views
1

私が取り組んでいるアプリケーションに対してinstall4jの自動更新機能を利用しています。私は、アップデートが必要かどうかを正確に判断する方法が不思議でしたか?Install4j自動更新バージョン検出

純粋にアプリケーションのバージョン番号を、updates.xmlの関連するエントリのnewProperty値と比較しているかどうかはわかりません。または、アプリケーションID(インストーラ設定画面内)がどこかで再生されますか?

答えて

2

更新検出ロジックはカスタマイズ可能です。

インストーラ - >画面&の[アクション]タブで、アップデータインストーラアプリケーションを確認し、 "デスクリプタの更新"という名前のアクションを探します。このアクションは、ダウンロードupdates.xmlファイルにバージョン番号にインストールされたアプリケーションのバージョン番号を比較しUpdateDescriptor#getPossibleUpdateEntry()

((UpdateDescriptor)context.getVariable("updateDescriptor")).getPossibleUpdateEntry() 

方法のスクリプトを使用して、単に「変数の設定」アクションです。より正確には、現在のインストールのインストールに使用されたインストーラのメディアファイルIDと一致するメディアファイルIDのエントリをupdates.xmlに配置し、そのエントリのバージョン番号を使用します。

このロジックは、たとえば、インストーラ - >自動更新オプション]タブで設定したupdates.xmlファイルのカスタム属性を使用して、独自のロジックで置き換えることができます。

関連する問題