RemoveFiles 操作
RemoveFiles 操作删除以前由 InstallFiles 操作安装的文件。 这些文件中的每一个都由指向组件表中条目的链接进行门控。 仅删除组件解析为 msiInstallStateAbsent 状态或 msiInstallStateLocal 状态(如果组件是在本地安装)的文件。
序列限制
调用 RemoveFiles 之前,必须先调用 InstallValidate 操作。 如果使用 InstallFiles 操作,必须在 RemoveFiles 之后。
ActionData 消息
字段 | 操作数据说明 |
---|---|
[1] | 已删除文件的标识符。 |
[9] | 包含已删除文件的目录的标识符。 |
备注
如果没有要删除的杂项文件,可以从安装程序数据库中省略 RemoveFile 表。
RemoveFiles 操作还可以删除非 InstallFiles 操作安装的创建者指定的文件。 这些文件是在 RemoveFile 表中指定的。 这些文件中的每一个都由指向组件表中条目的链接进行门控。 如果指定目录中存在组件解析为任何活动操作状态(即不处于 Off 或 Null 状态)的文件,则删除这些文件。 首次安装链接的组件时、重新安装时以及删除链接的组件时,将尝试删除 RemoveFile 表中指定的文件。
RemoveFiles 操作还可以删除文件夹。 如果 RemoveFile 表的 FileName 列中的值为 null,则删除空文件夹。
删除以前安装的文件时,RemoveFiles 操作查询 InstallFiles 操作所查询的表中的相同字段,不同的是 RemoveFiles 操作不使用媒体表。
可以在 RemoveFile 表的 FileName 列中以本地化文本指定目标文件名。