【问题标题】:How to convert Jar to exe or msi package to remotely deploy?如何将 Jar 转换为 exe 或 msi 包以进行远程部署?
【发布时间】:2013-03-20 09:11:24
【问题描述】:

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

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

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

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

【问题讨论】:

  • “分发..以便我可以发布应用程序的补丁和更新。”有图形用户界面吗?用户是否有网络(或内联网)访问权限?如果是这样,Java Web Start 可以做需要做的事情。编辑:抱歉,JWS 的“远​​程”部分有点麻烦(第 2 点)。

标签: java deployment jar


【解决方案1】:

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

  1. How Should I Implement an Auto Updater
  2. How to Implement Auto Updater in Java
  3. Best way to update products

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

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

  1. 如果您只想分发到 Windows 平台(很遗憾,因为 Java 可以在很多平台上运行),那么请尝试使用著名的 NSISWiX Toolset
  2. 如果您希望它是跨平台的(我会推荐),那么在 this question 中,您会找到一个包含多种工具的列表。

【讨论】:

  • 是的,你很成功。我正在尝试进行自动安装。所以当我使用自动安装时,以后可以更新已安装的应用程序吗?我将使用 IBM tivoli 软件分发来远程部署应用程序
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
  • 2019-02-28
相关资源
最近更新 更多