我正在为 java .jar 应用程序开发更新启动器。我有几个 .jar 档案和一个 main.jar。我的启动器在更新时添加/替换了必要的 jar。
我只是不确定要遵循什么标准。所以我将描述这个过程是如何工作的,如果我忘记了什么,你可能会告诉我。
- 从 ftp 更新服务器加载和比较 version.xml 文件
- 借助两个 version.xml 文件制作更新项目列表
- 检查(确定)那些仍然有效的文件是否确实存在于硬盘上(或者将它们添加到需要下载的项目列表中......无论如何都不应该发生)
- 创建需要下载的文件列表(这些项目以压缩形式在服务器上)
- 将所有需要的文件下载到 /temp 文件夹
- 将所有文件解压到 /temp/unpack
- 将所有解压文件移动到 /data 文件夹(或它们所属的位置)
- 更新本地 version.xml
- 检查所有文件是否与实际版本文件列表匹配
我真的不确定我是否忘记了什么?如果某些用户弄乱了 /data 中的文件,我的更新程序会识别出这一点并提出“修复更新”,其中所有丢失的文件都将被重新下载。但是,那些搞乱version.xml 的用户呢?我应该加密存储。是否有必要保持从更新服务器下载的 version.xml 保持打开状态,以便在检查版本和更新时没有人可以更改?还是我太担心这一切了?
到目前为止,这一切是否可行,是否足够安全,不会在补丁后在用户 PC 上创建凌乱的安装?