如何创建自己的跨平台安装程序?

时间:2016-04-08 07:15:15

标签: java installer install4j izpack

我想使用java创建自己的安装程序,我不想使用任何安装程序但只创建一个。

我已经阅读了所有其他安装程序,例如izpack,install4j,InstallJammer,InstallBuilder等。我搜索过创建安装程序但找不到任何有用的资源。

我应该在何处以及如何启动安装程序,以便执行其他安装程序执行的所有操作,例如安装路径,zip / unzip,注册到添加/删除程序面板,在需要时卸载程序等。

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,想想你是否真的需要一个安装程序。正如评论中所提到的,Java应用程序可以很容易地分发为单个JAR (通常是胖JAR ,其中包含所有它的依赖项,请检查: How can I create an executable JAR with dependencies using Maven?)。

如果您确实需要除可执行JAR之外的其他文件,您仍然可以通过在JAR周围分发带有一些辅助文件结构的压缩二进制包来避免安装程序。任何人都可以在系统中的某处提取它并运行主文件。如有必要,您还可以在此结构的根文件夹中提供批处理文件/ shell,以帮助启动您的应用。

如果您仍然希望用户听起来技术性较差,您还可以使用Launch4j(http://launch4j.sourceforge.net/)将该JAR包装为带有charmy图标的可执行文件文件。您甚至可以在文件结构中嵌入JRE,这样用户就不需要安装Java。

在深入了解安装程序的复杂性之前,您还可以使用自解压存档来询问用户放置文件的位置。很多着名的解决方案都是这样的。也许您甚至可以隐藏文件提取阶段,并在每次要求启动应用程序时在后台执行此操作(请查看:https://www.excelsiorjet.com/kb/35/howto-create-a-single-exe-from-your-java-application)。

如果你需要检查以前的系统条件(空间,内存,依赖关系),我只能看到对安装程序的真正需求;授予特殊文件夹和用户权限;在默认的O.S.上安装你的程序。程序文件夹;设置环境变量或Windows注册表项;创建桌面快捷方式或系统的菜单条目;还有一堆其他棘手的细节。在这种情况下,请考虑使用现有的安装程序解决方案,因为在您成功完成此类任务之前,将会涉及大量的工作。您已经需要付出太多努力来控制您的应用程序代码库,而不是为它的安装程序提供另外一堆代码!