如何将Jar转换为exe或msi包进行远程部署?

时间:2013-03-20 09:11:25

标签: java deployment jar

项目:使用Java 7的简单swing应用程序。

目标:以.exe或MSI的形式发布,以便我可以发布补丁&更新应用程序。

我知道有很多工具将jar文件转换为可执行文件.exe我的问题是:

  1. 我已经将Java 7用于该项目&目标系统没有 java 7 - 所以我必须在我的包中加入jre 7?希望3 我使用的派对lib与jar一起编译。
  2. 我要远程解密到目标系统的包是它 可能?
  3. 我必须通过部署来远程更新已安装的应用程序 更新包可以这样做吗?

1 个答案:

答案 0 :(得分:0)

首先,将其作为 .EXE .MSI 文件分发,将无法让您发布补丁/更新并远程处理它们。为此,您需要为连接到远程存储库的特定应用程序实现自己的Update Manager。在SO讨论这个问题时有几个问题:

  1. How Should I Implement an Auto Updater
  2. How to Implement Auto Updater in Java
  3. Best way to update products
  4. 如果您在该主题中挖掘更多,您会发现迟早,即使需要“自动更新”,您也不需要 .EXE .MSI 文件,只考虑Eclipse IDE,它作为 .ZIP 文件分发,它有自己的Update Manager。

    但是,我认为当你说“分发为.exe或MSI”时,你的意思是将其分发为自动安装程序(与自动更新程序不同)。为此你有几个选择:

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