【问题标题】:Creating an installer for Java desktop application为 Java 桌面应用程序创建安装程序
【发布时间】:2013-01-19 01:24:28
【问题描述】:

我知道这个问题已经被问过很多次,并且一直有一个答案是关于使用可执行 jar 或使用 launch4j 或类似应用程序制作 .exe。

我可能听起来像个新手,但实际上我是。

我一直在尝试使用 Java 项目做一些事情。我已经成功地制作了一个可执行的 jar 和一个 .exe 文件。感谢您之前在 SO 中的回答 :)

但是,我想为 Windows 创建一个安装程序。就像,按 Next 2 - 3 次(显示所有条款和条件等),然后用户指定一个位置(如 C:\Program Files\New Folder\My App),然后是我的 .exe、lib 文件夹、img文件夹,其他重要文件夹与 .exe 文件一起粘贴到目标文件夹中,然后在桌面上创建快捷方式。

任何关于如何实现这一点的指针?

【问题讨论】:

  • 我使用 Nsis 作为安装程序的项目之一。您可以查看nsis.sourceforge.net/Main_Page
  • WiX 也是一个不错的选择。
  • 您可能还想查看 JWrapper.com,我的公司最近发布了它。它非常易于使用,是用纯 Java 编写的(因此可以在任何操作系统上运行),并为 Mac、Windows 和 Linux 生成本机应用程序,包括图标(来自您提供的 PNG)和签名(如果您有 Window 和 Mac 的证书)。跨度>

标签: java deployment installation desktop-application


【解决方案1】:

我已经使用InnoSetup 很长时间了。它一直运作良好。它可以完成您需要的一切(解压缩文件、在桌面上放置快捷方式、开始菜单等)并生成我们习惯的安装程序。

【讨论】:

  • 您好,我在 NetBeans 中使用 innoSetup 和 Wix 进行本地打包,它不会创建桌面快捷方式,也不会更改应用程序图标。需要帮助。
【解决方案2】:

如果你想要免费和开源,你可以看看IzPack。我们在工作中使用它来为我们的构建器提供命令行支持。

您还可以查看install4j,这是我们之前尝试过的商业产品(但是在花钱方面,您往往想知道自己得到了想要的东西;))

【讨论】:

  • +1 用于 izpack,我们使用它为 gate.ac.uk 构建安装程序。它可以是一个完全脚本化的过程——我设置了我们的 Jenkins CI 服务器来构建一个安装程序,作为夜间快照构建的一部分。
【解决方案3】:

如果您使用的是 JDK 13 或更高版本,则可以使用 JDK 中名为 jpackage 的默认打包工具将任何 Java 程序及其运行时打包。

jpackage 可以为 Linux、Mac 和 Windows 操作系统创建安装程序。

您可以使用jlink 创建特定的运行时。

jpackage 需要一些第三方免费软件来创建 Windows 包:

* 要创建 .exe 包,它使用 Wix

* 要创建 .msi 包,它使用 Inno

  • Wix 现在是创建 exemsi 包的唯一依赖项。

关于 jpackage 的所有详细信息可以在JEP 343: Packaging Tool找到。

【讨论】:

    【解决方案4】:

    编辑:我将把它留在这里以供参考,但请注意:启动 JWS 和小程序所需的 Java 插件已被浏览器制造商删除,并且两者在 Java 9 中均已弃用并从 API 中删除。

    使用Java Web Start

    喜欢,按 Next 2 - 3 次(显示所有条款和条件等)

    JNLP API 的ExtensionInstallerService 提供了这一点。这是demo. of the installer service

    ..然后用户指定一个位置(如 C:\Program Files\New Folder\My App),..

    ExtensionInstallerService 提供了一个方法getInstallPath(),其中..

    返回推荐安装程序安装扩展的目录。安装程序不需要安装在此目录中,这只是一个建议的路径。

    这与您所要求的并不完全相同,但我认为允许用户进行这种级别的控制通常是一个坏主意。

    然后我的 .exe、lib 文件夹、img 文件夹以及其他重要文件夹与 .exe 文件一起粘贴到目标文件夹中..

    JWS 会在需要时自动安装 JNLP 中提到的资源。此外,如果服务器上的档案发生变化,它会更新资源。

    然后在桌面上创建一个快捷方式。

    JWS 可以在支持的系统上提供桌面快捷方式和菜单项。

    例如

    【讨论】:

      【解决方案5】:

      几个月前我也遇到过同样的情况。在尝试了很多之后。我建议 NSIS。 Eclipse EclipseNSIS 有一个不错的插件,带有一些模板。只需单击几下即可获得基本的安装程序,这很有帮助。如果生成的代码不够用,你可以通过编码来完成剩下的工作,但大部分代码都是由 EclipseNSIS 生成的。

      【讨论】:

        【解决方案6】:

        您也可以使用Advanced Installer。由于您已经有一个 EXE 来启动您的 JAR,您不需要使用 Advanced Installer 提供的 Java Launcher 支持,您可以创建一个Simple project,它在免费版中提供,因此您无需购买许可证。

        安装它并创建安装包最多需要 10 分钟,因为您会发现使用它非常容易学习。

        【讨论】:

          【解决方案7】:

          使用 Launch4j 创建 exe 文件。您必须提供 jre 文件夹的相对路径。 接下来使用 Inno Setup 进行设置。您可以在安装程序中捆绑 jre。 我用过它,它就像魔法一样工作。我可以显示详细信息。

          【讨论】:

          • 显示细节会很好!
          【解决方案8】:

          我想分享另一个项目。这个项目有两个部分:更新你的桌面应用程序和准备好的 mac os、linux、windows 安装程序。如果您只想要安装程序,那么您可以通过这种方式采用documentation,您应该用您的 jar 替换 starter-core-1.0.jar

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多