ApplicationLauncher.Install4j安装完成时的回调通知

ApplicationLauncher.Install4j安装完成时的回调通知,install4j,Install4j,我正在使用install4J的自动更新功能,方法是使用Java代码中的ApplicationLauncher.launchApplicationInProcess()API 这个API有一个参数ApplicationLauncher.Callback。 但我注意到,当实际安装过程(该过程的名称和安装文件名相同)完成时,不会调用此回调 是否有任何回调机制来检测安装状态?这里有两个单独的过程: 更新程序,即使用ApplicationLauncher.launchApplicationInProce

我正在使用install4J的自动更新功能,方法是使用Java代码中的
ApplicationLauncher.launchApplicationInProcess()
API

这个API有一个参数
ApplicationLauncher.Callback。

但我注意到,当实际安装过程(该过程的名称和安装文件名相同)完成时,不会调用此回调


是否有任何回调机制来检测安装状态?

这里有两个单独的过程:

  • 更新程序,即使用
    ApplicationLauncher.launchApplicationInProcess()调用的更新程序

  • 由更新程序下载并启动的新安装程序

在更新程序执行安装程序之前调用回调,然后更新程序自行终止。需要此事件序列以避免锁定或删除文件的问题


如果您需要在安装结束时执行某些操作,则必须将该逻辑放入安装程序。

根据您的建议,我在安装结束时添加了运行脚本操作。此脚本检查“context.iserrorOccurrend()”的返回值。令人惊讶的是,即使更新成功,它也给了我“True”。是否有其他可靠的方法在安装结束时检测安装状态(失败/成功/回滚)。成功是一个由您自己定义的相对术语
context.iserrorOccurrend()
如果自上次清除标志后任何操作失败,则返回
true
。如果该操作的失败策略是“继续”(这是默认设置),则安装程序没有失败。如果您在安装结束时到达,则安装“成功”。要对回滚做出反应,请在上下文中注册事件侦听器。