在linux中,我希望我的updater運行腳本文件進行回滾操作(實際上是將某些文件權限更改爲另一個用戶而不是根目錄)。所以,我能想到的可能途徑有:Install4j:運行用於回滾操作的批處理文件/腳本文件
使用行爲:「運行可執行文件或批處理文件」在執行回滾和運行腳本,因爲它使用的root權限。
在執行回滾操作時,運行已創建的腳本或調用的任何方法均爲
InstallerEventListener
,具有root權限的「運行可執行文件或批處理文件」。使用回滾操作裏面的
ProcessBuilder
(我已經用於正常操作)
但形成install4j文件我找不到任何方法,可以幫助我做到這一點。我正在閱讀關於InstallerContext.runElevated的文檔,但它看起來並不是我正在尋找的東西。
UPDATE:
原來直接運行使用ProcessBuilder
在最大提升權限(root)的「運行腳本」的動作腳本,使完成任務。但是我仍然有興趣知道事件監聽器是否有可能從中觸發一個動作。
你爲什麼不能使用「運行可執行文件或批處理文件」操作及其「使用回滾可執行文件」屬性? –
但是隻對特定的「運行可執行文件或批處理文件」操作有效嗎?對於我的情況,我設置了一個執行回滾函數的動作偵聽器,我通常爲任何動作定義回滾函數。我想在這裏實現的是以某種方式在回滾函數 – ShaDooW