通过示例在 Windows 10 机器上安装 Java 可执行文件

hot*_*oup 5 java windows-installer java-8

我想一些具有在 Windows 桌面上交付 Java 应用程序经验的 Java 专家将能够胜过这一点。我一直是一名 Mac/Linux Java 开发人员,所以这对我来说是一个未知的领域:-/。

我必须编写一个 Java 8 Swing 应用程序并将其安装在 Windows 10(64 位)机器上。我Gameplan的是打包的应用程序作为一个可执行的JAR文件和包裹Launch4J,所以它看起来像一个地道的Windows EXE(.exe文件)。然而,它比分布更复杂一点:

  • 将有上面提到的 JAR/EXE,让我们调用它myapp.exe(从 构建myapp.jar
  • 该应用程序会将日志输出到(本地?)目录, myapp.log
  • 该应用程序将在运行时加载一个配置文件, myapp.properties
  • 发行版还应包含用户指南, MyApp User Guide.html

让我们假设机器上已经安装了 Java 8 JRE/JDK,所以我们不需要担心安装 Java 本身。

安装过程必须简单,包括:

  1. 从机器上完全删除旧版本(及其所有其他工件,例如日志文件、配置/属性文件、用户指南等)
  2. 在 Windows 10 默认位置安装新版本,或允许用户指定不同的位置

此外,如果可能的话,我希望安装过程包括:

  1. 要求检查诸如最小内存和磁盘空间、操作系统版本信息/兼容性(即确保其安装在 Windows 10 上等)
  2. 提供易于使用的向导,例如用户可以单击的 MSI
  3. 可选择安装用户桌面的快捷方式

鉴于所有这些,我想知道在现代 Windows 10/Java/Launch4J 环境中我的选择是什么。是否有工具可以帮助我快速编写 MSI 脚本,或者我是否必须用 C#/.NET 编写自己的脚本并将其作为单独的二进制文件/项目?如果 MSI 不是一个选项,那么存在哪些选项可能会击中我上面的所有项目?

我意识到我可以将整个内容作为 ZIP 分发,并且安装过程如下所示:

  1. 将 ZIP 保存到用户计算机上的某个位置,例如桌面
  2. 手动将上一个应用程序及其工件移至垃圾箱
  3. 解压新的 ZIP

然而,这感觉很糟糕,我正在寻找更专业的东西。这里有什么解决方案吗?

Eng*_*uad 6

JDK 8 捆绑了一个名为javapackager(以前称为javafxpackager)的工具,它是 JavaFX 的一部分。但是,您可以在不使用 JavaFX 的情况下使用它打包 java swing 应用程序。此工具可以生成包含应用程序和 Java 运行时的安装程序文件(exemsi)。

下面是一个例子:

javapackager -deploy -native exe -Bruntime="C:\Program Files\Java\jdk1.8.0_66\jre" -Bicon=app_icon.ico -BsystemWide=true -BshortcutHint=true -outdir packages -outfile appFile -srcdir dist -srcfiles MyApp.jar;COPYING.txt -appclass somePackage.MainClass -BlicenseFile=COPYING.txt -name appName -title "应用程序名称"

有关更多信息,请参阅使用 javapackager 添加图标到包


还有一个名为jpackage新工具,它基于javapackager. 建议与下一个 JDK 版本 JDK 14 一起发布。请注意,javapackager自版本 11 以来,它已作为 JavaFX 删除的一部分从 JDK 中删除。

请参阅使用 Early Access jpackage 实用程序的简要示例


归档时间:

查看次数:

2165 次

最近记录:

5 年,11 月 前