Install4j 低占用下载/安装程序

Install4j 低占用下载/安装程序,install4j,Install4j,我运行一个开源项目,它通常以通用zip格式分发我们的代码。除了核心软件外,我们还为该软件开发了几个社区开发的附加组件 与其让用户从不同的位置和网站下载所有选项,我想提供一个占地面积小的安装程序 根据需要下载并安装java。如果用户使用64位操作系统,则需要同时下载32位和64位操作系统 下载并解压缩核心软件zip文件 允许用户选择最新的稳定版本或开发版本(两个不同的网站) 选择其他软件选项(多个选项) 分别下载每一个(不同的网站) 必要时拆包/安装 写入配置文件(纯文本) 根据配置选项

我运行一个开源项目,它通常以通用zip格式分发我们的代码。除了核心软件外,我们还为该软件开发了几个社区开发的附加组件

与其让用户从不同的位置和网站下载所有选项,我想提供一个占地面积小的安装程序

  • 根据需要下载并安装java。如果用户使用64位操作系统,则需要同时下载32位和64位操作系统
  • 下载并解压缩核心软件zip文件
    • 允许用户选择最新的稳定版本或开发版本(两个不同的网站)
  • 选择其他软件选项(多个选项)
    • 分别下载每一个(不同的网站)
    • 必要时拆包/安装
    • 写入配置文件(纯文本)
  • 根据配置选项,根据需要清理目录。
    • 例如,如果我选择可选软件“1”,则删除目录“X”
我不一定要在核心安装文件中提供所有这些附加软件选项(事实上,如果我可以提供一个占地面积小的安装程序,它可以确定所有可用软件的最新版本)(可能需要对一些网站进行筛选,其他网站可能会提供包含版本号的文本文件)

Install4j是否适用于此

我知道我必须编写一些代码来进行版本识别,但我最想要的是一个带有引导路径的GUI,供用户选择选项并根据需要下载它们

一旦我编写了脚本,我宁愿不编写它,也不必一直编译新版本(如果可能的话),URL信息可能更改的情况除外。

您可以使用“下载文件”操作从任意站点下载ZIP文件,然后“安装ZIP文件的内容”根据需要安装它们的操作

至于对用户的演示,您可以使用标准安装组件工具,在该工具中,您可以将安装组件排序到“安装组件”上显示的树中屏幕。您可以将所有安装组件保留为空。另一个优点是您可以指定安装组件的依赖项

在“安装屏幕”中,我将添加包含成对“下载文件”/“安装ZIP文件内容”操作(以及每个组件所需的任何其他操作)的操作组。每个操作组的条件表达式应设置为

context.getInstallationComponentById("123").isSelected()
其中“123”是相应安装组件的ID

至于64位/32位:在Windows上,我建议只为32位创建一个带有捆绑32位JRE的安装程序。这同样适用于64位JRE。如有必要,必须创建一个单独的64位媒体文件。捆绑的JRE可以按需下载

在Linux上,我不建议捆绑JRE。如果需要,为32位Linux和64位Linux提供两个单独的媒体文件

至于“用户的引导路径”,您可以在install4j中使用。

您可以使用“下载文件”操作从任意站点下载ZIP文件,然后根据需要使用“安装ZIP文件内容”操作安装它们

至于对用户的演示,您可以使用标准安装组件工具,在该工具中,您可以将安装组件排序到“安装组件”上显示的树中屏幕。您可以将所有安装组件保留为空。另一个优点是您可以指定安装组件的依赖项

在“安装屏幕”中,我将添加包含成对“下载文件”/“安装ZIP文件内容”操作(以及每个组件所需的任何其他操作)的操作组。每个操作组的条件表达式应设置为

context.getInstallationComponentById("123").isSelected()
其中“123”是相应安装组件的ID

至于64位/32位:在Windows上,我建议只为32位创建一个带有捆绑32位JRE的安装程序。这同样适用于64位JRE。如有必要,必须创建一个单独的64位媒体文件。捆绑的JRE可以按需下载

在Linux上,我不建议捆绑JRE。如果需要,为32位Linux和64位Linux提供两个单独的媒体文件

至于“用户引导路径”,您可以在install4j中使用