我想仅在卸载时删除文件File.txt
,而不是在升级时删除。我们使用<MajorUpgrade ...>
元素进行升级。
当我们使用以下组件时,每次都会删除文件,也是在升级时删除:
<Component Id="RemoveFileComponent" Transitive="yes" Directory="BIN" Guid="MY-GUID-HERE">
<Condition>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</Condition>
<RemoveFile Id="RemoveTextFile" Name="File.txt" Directory="BIN" On="uninstall" />
</Component>
属性<RemoveFile ... On="uninstall" />
不会对此行为进行任何更改。因此,在升级时将删除该文件。
更新
在<CustomAction>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</CustomAction>
中,条件在更新或卸载时正常工作,但相同的条件在组件条件中无法正常工作:<Condition>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</Condition>
。我不想将<CustomAction>
结合使用程序集或命令行语句作为不稳定的解决方法。我没有使用此处所述的<CustomAction>
请求解决方案:How to add a WiX custom action that happens only on uninstall (via MSI)?
我希望用我在问题中描述的组件条件来处理它。