0

Java .jar アプリケーションの更新ランチャーに取り組んでいました。いくつかの .jar-archives と main.jar があります。私のランチャーは、更新時に必要なjarを追加/置換します。

どのような基準を守ればよいのかわかりません。プロセスがどのように機能するかを説明します。何か忘れていたら教えてください。

  1. ftp 更新サーバーから version.xml ファイルを読み込んで比較する
  2. 両方の version.xml ファイルを使用して、更新されたアイテムのリストを作成します。
  3. まだ有効なファイルが実際にハード ドライブに存在するかどうかを (念のため) チェックします (ダウンロードする必要があるアイテムのリストにそれらを追加します...いずれにせよ発生しないはずです)。
  4. ダウンロードする必要があるファイルのリストを作成します (これらのアイテムは圧縮された形式でサーバー上にあります)。
  5. 必要なすべてのファイルを /temp フォルダーにダウンロードします
  6. すべてのファイルを /temp/unpack に解凍します
  7. 解凍されたすべてのファイルを /data フォルダー (またはそれらが属する場所) に移動します。
  8. ローカルの version.xml を更新する
  9. すべてのファイルが実際のバージョン ファイル リストと一致するかどうかを確認する

何かを忘れたのか本当にわかりませんか?一部のユーザーが /data 内のファイルをいじると、私のアップデーターはこれを認識し、不足しているすべてのファイルを再ダウンロードする「修復更新」を提案します。しかし、version.xml をいじるユーザーはどうでしょうか? 暗号化して保存する必要があります。バージョンの確認と更新中に誰も変更できないように、更新サーバーからダウンロードした version.xml を開いたままにしておく必要がありますか? それとも、そのすべてについて心配しすぎていますか?

これまでのところ、これはすべてうまくいきますか? また、パッチ後にユーザーの PC に面倒なインストールを作成しないほど十分に安全ですか?

4

1 に答える 1

0

Java 1.6 の System Tray クラスを使用して、ユーザーに更新を通知する予定ですか? 私には、このようなことには OSGi アップデーターの実装が含まれるように思えます (Eclipse プロジェクトが IDE で行う方法と似ています)。また、JVisualVM.exe ツール (JDK に付属) は、この種の優れた例であり、C++ でコーディングされていると思われますが、そこからアイデアを得ることができるかもしれません。

于 2013-03-15T18:33:18.347 に答える