如何在Qt安装程序框架的卸载步骤中省略component.addOperation的撤消步骤?

时间:2018-06-21 15:43:47

标签: qt qt-installer

根据Qt文档http://doc.qt.io/qtinstallerframework/operations.html,我具有componentscript,其中在安装过程中执行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);

执行此操作将引发错误“无法启动:'mkdir my / path'(未定义程序)无此文件或目录”。有什么解决方法可以不执行addOperation的撤消操作?

1 个答案:

答案 0 :(得分:1)

您无需为每个操作都提供UNDO。

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

  

component.addOperation(“ Mkdir”,path);

  

component.addOperation(“ Rmdir”,path);

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

(对于Windows操作系统)

  

component.addOperation(“ Execute”,“ cmd”,“ / C”,“ mkdir” +路径);

(对于Linux OS)

  

component.addOperation(“ Execute”,“ / bin / sh”,“ -c”,“ mkdir” +路径);