【发布时间】:2016-04-08 14:09:23
【问题描述】:
我只想在卸载时删除文件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)?
我想在我的问题中描述的组件条件下使用它。
【问题讨论】:
-
请看@我的问题。我不想使用任何自定义操作。我想使用一个组件。这不是重复的。
-
请注意,您可以@ping 黄金徽章关闭器,例如本例中的@Yan
-
我认为没有实际区别。您问题的重点是如何设置适当的条件。此外,
<RemoveFile>也是一个自定义操作。 -
没有。看@我的更新。
标签: wix windows-installer wix3.9