在linux中,我希望我的updater运行脚本文件进行回滚操作(实际上是将某些文件权限更改为另一个用户而不是根目录)。所以,我能想到的可能途径有:Install4j:运行用于回滚操作的批处理文件/脚本文件
使用行为:“运行可执行文件或批处理文件”在执行回滚和运行脚本,因为它使用的root权限。
在执行回滚操作时,运行已创建的脚本或调用的任何方法均为
InstallerEventListener
,具有root权限的“运行可执行文件或批处理文件”。使用回滚操作里面的
ProcessBuilder
(我已经用于正常操作)
但形成install4j文件我找不到任何方法,可以帮助我做到这一点。我正在阅读关于InstallerContext.runElevated的文档,但它看起来并不是我正在寻找的东西。
UPDATE:
原来直接运行使用ProcessBuilder
在最大提升权限(root)的“运行脚本”的动作脚本,使完成任务。但是我仍然有兴趣知道事件监听器是否有可能从中触发一个动作。
你为什么不能使用“运行可执行文件或批处理文件”操作及其“使用回滚可执行文件”属性? –
但是只对特定的“运行可执行文件或批处理文件”操作有效吗?对于我的情况,我设置了一个执行回滚函数的动作侦听器,我通常为任何动作定义回滚函数。我想在这里实现的是以某种方式在回滚函数 – ShaDooW