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

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

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

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

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

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

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

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

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

使用Java Web Start 。

比如,按下Next 2到3次(显示所有条款和条件等)

JNLP API的ExtensionInstallerService提供了此function。 这是一个演示。 安装程序服务 。

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

ExtensionInstallerService提供了一个getInstallPath()方法。

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

这与你提出的要求并不完全相同,但我认为让用户达到控制水平通常是一个坏主意。

然后我的.exe,lib文件夹,img文件夹,其他重要文件夹与.exe文件一起粘贴在目标文件夹中..

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

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

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

例如

  • 从如何通过在Windows上单击其图标来运行Java程序?
  • 这个答案显示了一个JWS应用程序。 安装在“程序和function”中,左侧有桌面图标。

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

您也可以使用Advanced Installer 。 由于您已经有一个EXE来启动JAR,因此您不需要使用Advanced Installer的Java Launcher支持,您可以创建一个Simple项目 ,该项目可以在免费版本中使用,因此您无需购买执照。

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