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

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

下面是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。

wix
1个回答
0
投票

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

据我所知,成本核算操作不会对系统进行任何更改,但是它们将帮助schedule文件安装或卸载。因此,看起来好像是由于此操作导致删除。

RemoveFilesFile Costing被处理两次。首先构建执行脚本,然后运行实际的安装事务操作。在第二次运行期间,标准操作File CostingInstallExecuteSequence执行相应的文件操作,并且您的文件很可能会被RemoveFiles操作删除-除非有自定义删除序列中其他位置的操作。

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