install4j - 如何使用 Install4J 将参数从启动器传递到更新器
问题描述
我们有一个安装两个启动器的安装程序。每个启动器启动一个更新程序,两个启动器相同。在更新过程结束时,所以在安装结束的情况下,我们想执行好的启动器,即之前启动的那个。
是否可以这样做,例如通过更新程序将参数从启动器传递到安装程序?
或者我们应该为每个启动器创建一个专用的更新程序?
解决方案
这取决于您使用的是哪种更新下载器:
1. 立即执行新的安装程序更新下载器
要将信息从启动器传递到新安装程序,您可以使用参数调用更新下载器,例如
-Vname=value
设置安装程序变量。
然后,您必须将该信息传递给下载的安装程序,该安装程序通过传递额外的参数来执行“运行可执行文件”操作,如下所示:
-Vname=${installer:name}
然后,这些安装程序变量将在新安装程序中可用。
您必须使用 API 调用更新下载器,自动启动器集成不允许添加这些参数。
2.后台更新下载器
如果您使用“后台更新下载器”,您可以调用
UpdateChecker.executeScheduledUpdate(...)
将restartLauncher
参数设置为true
在更新后重新启动相同的启动器,并且使用该launcherArguments
参数您可以传递其他参数。
对于 GUI 启动器,您可以在启动器向导的“可执行信息->自动更新集成”中配置此调用在启动时自动进行。
推荐阅读
- arrays - 如何用 VBA Excel 实现数组?
- php - Eloquent 模型只是显示“价值”而不是插入
- c# - 将数据表中的标题行替换为另一个数据表中的标题行
- python - RoborFramework:如何将标签名称发送到我的关键字中
- javascript - Javascript 不适用于 Firebase 身份验证
- fish - 列出鱼配置文件中的函数?
- angular - 如何使用 FormControl 修补值
- c# - 使用 c# 在 excel 应用程序中打开时读取 Excel 文件
- kubernetes - 如何将用户请求重定向到 Kubernetes 中的另一个部署?
- android - 谷歌地图 API (Android SDK)。每次通过位置侦听器更新位置时,地图中都会显示一个新标记