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

问题描述 投票:0回答:1

根据Qt文档http://doc.qt.io/qtinstallerframework/operations.html,我有一个componentcript,我在安装过程中执行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的撤消操作?

qt qt-installer
1个回答
1
投票

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

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

component.addOperation(“Mkdir”,path);

要么

component.addOperation(“Rmdir”,path);

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

(向前AS)

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

(对于Linux OS)

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

© www.soinside.com 2019 - 2024. All rights reserved.