为Java桌面应用程序创建安装程序

问题描述 投票:16回答:6

我知道这个问题已被多次询问,并且所有时间都有一个答案说明了使用可执行jar或使用launch4j或类似应用程序制作.exe。

我可能听起来像一个新手,我其实是。

我一直在尝试Java项目。我已经成功地制作了一个可执行jar和一个.exe文件。全部归功于您之前在SO中的答案:)

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

任何指示我如何实现这一目标?

java deployment installer desktop-application
6个回答
13
投票

我一直在使用InnoSetup很长一段时间。它一直很好用。它可以做你需要的一切(解压缩文件,在桌面上放置快捷方式,开始菜单等)并生成我们习惯的安装程序。


7
投票

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

你也可以看看install4j这是我们之前已经落后的商业产品(但是当涉及到花钱时,你往往想知道你得到你想要的东西;))


3
投票

使用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可以在支持的系统上提供桌面快捷方式和菜单项。

EG


1
投票

几个月前,我处于同样的境地。经过多次尝试后。我建议NSIS。 Eclipse EclipseNSIS有一个很好的插件,带有一些模板。只需轻松点击即可获得基本安装程序。如果生成的代码不够,您可以通过编码完成其余工作,但大多数代码都是由EclipseNSIS生成的。


1
投票

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

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


0
投票

如果您使用的是JDK 13或更高版本,则可以使用JDK中名为Jpackage的默认打包工具打包任何Java程序及其运行时。这可以固有地为Linux,Mac和Windows操作系统创建安装程序。

该工具的EA已作为JDK的一部分提供。

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

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

  • 要创建.exe包,它使用Wix
  • 要创建.msi包,它使用Inno

有关Jpackage的所有详细信息,请访问JEP 343: Packaging Tool

© www.soinside.com 2019 - 2024. All rights reserved.