如何使用 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" 上自动进行。
我们有一个安装程序可以安装两个启动器。 每个启动器启动一个更新器,两个启动器相同。 在更新过程结束时,所以在安装结束时,我们想要执行好的启动器,即之前启动的启动器。
是否可以这样做,例如通过更新程序将参数从启动程序传递到安装程序?
或者我们应该为每个启动器创建一个专用的更新程序吗?
这取决于您使用的是哪种更新下载器:
1.立即执行新安装程序更新下载程序
要将信息从启动器传递到新安装程序,您可以使用
等参数调用更新下载器-Vname=value
设置安装程序变量。
然后您必须将该信息传递给通过 "Run executable" 操作执行的下载安装程序,方法是传递额外的参数,如下所示:
-Vname=${installer:name}
然后,这些安装程序变量将在新安装程序中可用。
您必须使用 API 调用更新下载器,自动启动器集成不允许添加这些参数。
2。后台更新下载器
如果你使用"Background update downloader",你可以调用
UpdateChecker.executeScheduledUpdate(...)
将 restartLauncher
参数设置为 true
以在更新后重新启动相同的启动器,并使用 launcherArguments
参数您可以传递额外的参数。
对于 GUI 启动器,您可以将此调用配置为在启动时在启动器向导的 "Executable info->Auto-update integration" 上自动进行。