0

我正在为 java .jar 应用程序开发更新启动器。我有几个 .jar 档案和一个 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 回答