0

我有组件脚本,我在安装期间根据 Qt 文档http://doc.qt.io/qtinstallerframework/operations.html在其中执行 mkdir 和 copydir 操作。在内部,每个操作都有一个包含安装程序说明的 DO 步骤和一个包含卸载程序说明的 UNDO 步骤。我希望安装程序在卸载期间不要执行撤消步骤。我尝试使用以下功能:

var path =installer.value("HomeDir") + "/AppData/Roaming/myfolder";    
component.addOperation("Execute", "mkdir", path, "UNDOEXECUTE", "del", "/S", "/F", path);   
component.addOperation("Execute", "cmd", "/C", "mkdir", path, "UNDOEXECUTE", "cmd ", "/C", "rmdir", "/S", /Q", path);

执行此操作会引发错误 "Could not start: 'mkdir my/path'(No program defined) No such file or directory" 。是否有任何解决方法不执行 addOperation 的撤消操作?

4

1 回答 1

2

您不需要为每个操作提供 UNDO。

有一些预定义的操作,你可以直接使用如下

component.addOperation("Mkdir", path);

或者

component.addOperation("Rmdir", path);

或者,如果您根本不想进行 UNDO 操作,请使用以下方式执行相同操作

(适用于 Windows 操作系统)

component.addOperation("执行", "cmd", "/C", "mkdir" + 路径);

(适用于 Linux 操作系统)

component.addOperation("执行", "/bin/sh", "-c", "mkdir" + 路径);

于 2018-07-03T12:13:50.967 回答