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

Java 如何创建我自己的跨平台安装程序?,java,installation,install4j,izpack,Java,Installation,Install4j,Izpack,我想用java创建我自己的安装程序,我不想使用任何安装程序,而是创建一个 我已经阅读了所有其他安装程序,如izpack、install4j、InstallJammer、InstallBuilder等。我已经搜索了有关创建安装程序的内容,但没有找到任何有用的资源 我应该在何处以及如何启动我的安装程序,以便它执行其他安装程序执行的所有操作,如安装路径、zip/unzip、注册到“添加/删除程序”面板、在需要时卸载程序等 提前感谢。首先,想想你是否真的需要安装程序。如注释中所述,Java应用程序可以作

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

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

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


提前感谢。

首先,想想你是否真的需要安装程序。如注释中所述,Java应用程序可以作为一个单个JAR轻松分发(通常是一个胖JAR,其中合并了所有依赖项,请选中此项:)

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

如果您仍然希望用户听起来不那么专业,您还可以使用Launch4j()将JAR封装到带有charmy图标的可执行文件中。您甚至可以在文件结构中嵌入JRE,这样用户就不需要安装Java

在深入研究安装程序的复杂性之前,您还可以使用自解压归档来询问用户将文件放在何处。许多著名的解决方案都是这样工作的。也许您甚至可以隐藏文件提取阶段,并在每次要求启动应用程序时在后台执行此操作(选中此项:)


如果您:需要检查以前的系统状况(空间、内存、依赖性),我只能看到安装程序的真正需要;向特殊文件夹和用户授予权限;在默认的O.S.程序文件文件夹中安装程序;设置环境变量或Windows注册表项;创建桌面快捷方式或系统菜单项;还有其他一些棘手的细节。在这种情况下,考虑使用现有的安装程序解决方案,因为会有很多的辛苦工作,直到您能够成功地完成这样的任务。您已经投入了大量精力来控制您的应用程序代码库,尤其是它的安装程序的另一组代码

首先,想想你是否真的需要安装程序。如注释中所述,Java应用程序可以作为一个单个JAR轻松分发(通常是一个胖JAR,其中合并了所有依赖项,请选中此项:)

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

如果您仍然希望用户听起来不那么专业,您还可以使用Launch4j()将JAR封装到带有charmy图标的可执行文件中。您甚至可以在文件结构中嵌入JRE,这样用户就不需要安装Java

在深入研究安装程序的复杂性之前,您还可以使用自解压归档来询问用户将文件放在何处。许多著名的解决方案都是这样工作的。也许您甚至可以隐藏文件提取阶段,并在每次要求启动应用程序时在后台执行此操作(选中此项:)


如果您:需要检查以前的系统状况(空间、内存、依赖性),我只能看到安装程序的真正需要;向特殊文件夹和用户授予权限;在默认的O.S.程序文件文件夹中安装程序;设置环境变量或Windows注册表项;创建桌面快捷方式或系统菜单项;还有其他一些棘手的细节。在这种情况下,考虑使用现有的安装程序解决方案,因为会有很多的辛苦工作,直到您能够成功地完成这样的任务。您已经投入了大量精力来控制您的应用程序代码库,尤其是它的安装程序的另一组代码

为什么要使用安装程序呢?您只需要提供一个.jar文件即可。即使是Intellij IDEA和其他基于Java的编程工具的创建者Jetbrains也在为Windows、Mac和Linux提供发行版。如果有意义的话,他们会创建一个通用安装程序。@CHINMAYBHARDWAJ一个简单的jar文件不需要安装,只需要运行它。@BorisPavlović那么你的建议是我应该只使用可用的安装程序?如果是这样的话,你能推荐我应该使用的好的安装程序吗?@Stultuske是的,但是我希望我的应用程序安装在系统上,而不是直接运行为什么要使用安装程序呢?您只需要提供一个.jar文件即可。即使是Intellij IDEA和其他基于Java的编程工具的创建者Jetbrains也在为Windows、Mac和Linux提供发行版。如果有意义的话,他们会创建一个通用安装程序。@CHINMAYBHARDWAJ一个简单的jar文件不需要安装,只需要运行它。@BorisPavlović那么你的建议是我应该只使用可用的安装程序?如果是这样的话,你能推荐我应该使用的好的安装程序吗?@Stultuske是的,但我希望我的应用程序安装在系统上,而不是直接运行