0

I want to remove the file File.txt only on uninstall, but not on an upgrade. We are using the <MajorUpgrade ...> element for upgrades.

When we use the following Component, the File will be removed every time, also on an upgrade:

<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>

The attribute <RemoveFile ... On="uninstall" /> changes nothing on this behaviour. The file will be consequently deleted when doing an upgrade.

UPDATE: In an <CustomAction>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</CustomAction> the condition works correctly on an update or uninstall, but the same condition does not work correctly in and component condition: <Condition>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</Condition>. I am not interested to use an <CustomAction> in combination of an assembly or command line statement as and unstable workaround. I am not requesting for a solution using a <CustomAction> described here: How to add a WiX custom action that happens only on uninstall (via MSI)? I want to get work it with a component condition, described in my question.

Community
  • 1
  • 1
Simon
  • 4,157
  • 2
  • 46
  • 87

1 Answers1

-1

Make a custom action and specify the condition of the following :enter image description here

Chris Tanev
  • 208
  • 3
  • 16