3

项目:一个使用 Java 7 的简单 Swing 应用程序。

目标:作为 .exe 或 MSI 分发,以便我可以发布应用程序的补丁和更新。

我知道有很多实用程序可以将 jar 文件转换为可执行的 .exe 我的问题是:

  1. 我在项目中使用了 Java 7,而目标系统没有 java 7 - 所以我必须在我的包中包含 jre 7?希望我使用的 3 方库与 jar 一起编译。
  2. 我要将包远程解散到目标系统有可能吗?
  3. 我必须通过部署更新包远程更新已安装的应用程序可以这样做吗?
4

1 回答 1

1

首先,将其作为.EXE.MSI文件分发不会为您提供发布补丁/更新和远程处理它们的能力。为此,您需要为该特定应用程序实施您自己的更新管理器,并连接到您的远程存储库。SO讨论这个问题有几个问题:

  1. 我应该如何实现自动更新程序
  2. 如何在 Java 中实现自动更新程序
  3. 更新产品的最佳方式

如果您对该主题进行更多研究,您迟早会发现,即使需要“自动更新”,您也不需要.EXE.MSI文件,只需考虑 Eclipse IDE,它以.ZIP文件的形式分发,它有自己的更新管理器。

但是,我认为当您说“分发为 .exe 或 MSI”时,您实际上是指将其分发为自动安装程序(与自动更新程序不同)。为此,您有多种选择:

  1. 如果您只想分发到 Windows 平台(这很遗憾,因为 Java 可以在很多平台上运行),然后尝试使用著名的NSISWiX 工具集
  2. 如果您希望它是跨平台的(正如我所推荐的那样),那么在这个问题中,您会找到一个包含几个工具的列表来获得它。
于 2013-03-20T09:34:27.287 回答