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

时间:2013-02-04 10:52:30

标签: java deployment installer desktop-application

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

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

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

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

有关如何实现此目标的任何指示?

7 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:7)

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

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

答案 2 :(得分: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可以在支持的系统上提供桌面快捷方式和菜单项。

E.G。

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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

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

答案 5 :(得分:0)

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

  

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

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

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

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

有关Jpackage的所有详细信息都可以在JEP 343: Packaging Tool上找到。

答案 6 :(得分:0)

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