如何防止CostFinalize操作在UNINSTALL期间删除文件夹/文件

时间:2020-05-20 11:41:48

标签: wix

下面是CostFinalize开始和结束之间的日志。我要保留MyFolder文件夹及其内容。但它会被删除为默认操作

操作开始9:30:32:CostFinalize。

添加ABCDIR属性。其值为“ C:\ ProgramData \ ABC \ MyFolder \”。 属性更改:修改.....这适用于Myfolder中的所有元素

MSI(s)(98:F8)[09:30:32:860]:Dir(目标):密钥:ABCDIR,对象:C:\ ProgramData \ ABC \ MyFolder \

行动结束9:30:35:CostFinalize。返回值1。

1 个答案:

答案 0 :(得分:0)

成本 CostFinalize是“成本计算”的一部分,它是确定磁盘空间安装要求和其他内容的整个过程的标准操作。 File Costing是此过程的核心部分。还有其他事情正在发生-例如,我想为I / o操作解析目录和调度文件-不确定所有细节是否诚实-它们并没有得到充分记录。

就我所知,成本核算操作不会对系统进行任何更改,但它们可以帮助计划安装或卸载文件。因此,似乎是由于此操作导致删除操作。

删除文件 InstallExecuteSequence 处理了两次。首先构建执行脚本,然后运行实际的安装事务操作。在第二次运行期间,标准操作 RemoveFiles InstallFiles 执行相应的文件操作,并且 { {1}} 操作-除非有自定义操作在序列中其他位置进行删除。

相关问题