Java .jar アプリケーションの更新ランチャーに取り組んでいました。いくつかの .jar-archives と main.jar があります。私のランチャーは、更新時に必要なjarを追加/置換します。
どのような基準を守ればよいのかわかりません。プロセスがどのように機能するかを説明します。何か忘れていたら教えてください。
- ftp 更新サーバーから version.xml ファイルを読み込んで比較する
- 両方の version.xml ファイルを使用して、更新されたアイテムのリストを作成します。
- まだ有効なファイルが実際にハード ドライブに存在するかどうかを (念のため) チェックします (ダウンロードする必要があるアイテムのリストにそれらを追加します...いずれにせよ発生しないはずです)。
- ダウンロードする必要があるファイルのリストを作成します (これらのアイテムは圧縮された形式でサーバー上にあります)。
- 必要なすべてのファイルを /temp フォルダーにダウンロードします
- すべてのファイルを /temp/unpack に解凍します
- 解凍されたすべてのファイルを /data フォルダー (またはそれらが属する場所) に移動します。
- ローカルの version.xml を更新する
- すべてのファイルが実際のバージョン ファイル リストと一致するかどうかを確認する
何かを忘れたのか本当にわかりませんか?一部のユーザーが /data 内のファイルをいじると、私のアップデーターはこれを認識し、不足しているすべてのファイルを再ダウンロードする「修復更新」を提案します。しかし、version.xml をいじるユーザーはどうでしょうか? 暗号化して保存する必要があります。バージョンの確認と更新中に誰も変更できないように、更新サーバーからダウンロードした version.xml を開いたままにしておく必要がありますか? それとも、そのすべてについて心配しすぎていますか?
これまでのところ、これはすべてうまくいきますか? また、パッチ後にユーザーの PC に面倒なインストールを作成しないほど十分に安全ですか?