如何使用 Install4J 将参数从启动程序传递到更新程序

How to pass parameter from launcher to updater with Install4J

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

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

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

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

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

要将信息从启动器传递到新安装程序,您可以使用

等参数调用更新下载器
-Vname=value

设置安装程序变量。

然后您必须将该信息传递给通过 "Run executable" 操作执行的下载安装程序,方法是传递额外的参数,如下所示:

-Vname=${installer:name}

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

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

2。后台更新下载器

如果你使用"Background update downloader",你可以调用

UpdateChecker.executeScheduledUpdate(...)

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

对于 GUI 启动器,您可以将此调用配置为在启动时在启动器向导的 "Executable info->Auto-update integration" 上自动进行。