如何在qt安装程序框架中的卸载步骤中省略component.addOperation的撤消步骤?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在qt安装程序框架中的卸载步骤中省略component.addOperation的撤消步骤?相关的知识,希望对你有一定的参考价值。
根据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的撤消操作?
您不需要为每个操作提供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);
以上是关于如何在qt安装程序框架中的卸载步骤中省略component.addOperation的撤消步骤?的主要内容,如果未能解决你的问题,请参考以下文章
Qt Installer Framework - 防止安装在非空文件夹中