根据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的撤消操作?
答案 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” +路径);