首页 > 解决方案 > 如何使用 Install4J 将参数从启动器传递到更新器

问题描述

我们有一个安装两个启动器的安装程序。每个启动器启动一个更新程序,两个启动器相同。在更新过程结束时,所以在安装结束的情况下,我们想执行好的启动器,即之前启动的那个。

是否可以这样做,例如通过更新程序将参数从启动器传递到安装程序?

或者我们应该为每个启动器创建一个专用的更新程序?

标签: install4j

解决方案


这取决于您使用的是哪种更新下载器:

1. 立即执行新的安装程序更新下载器

要将信息从启动器传递到新安装程序,您可以使用参数调用更新下载器,例如

-Vname=value

设置安装程序变量。

然后,您必须将该信息传递给下载的安装程序,该安装程序通过传递额外的参数来执行“运行可执行文件”操作,如下所示:

-Vname=${installer:name}

然后,这些安装程序变量将在新安装程序中可用。

您必须使用 API 调用更新下载器,自动启动器集成不允许添加这些参数。

2.后台更新下载器

如果您使用“后台更新下载器”,您可以调用

UpdateChecker.executeScheduledUpdate(...)

restartLauncher参数设置为true在更新后重新启动相同的启动器,并且使用该launcherArguments参数您可以传递其他参数。

对于 GUI 启动器,您可以在启动器向导的“可执行信息->自动更新集成”中配置此调用在启动时自动进行。


推荐阅读