Как я могу вызвать состояние компонента только при удалении, но не при обновлении?

Я хочу удалить файл 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> описано здесь: Как добавить настраиваемое действие WiX, которое происходит только при удалении (через MSI)? Я хочу заставить его работать с условием компонента, описанного в моем вопросе.

1 ответ

Выполните настраиваемое действие и укажите следующее условие:

Другие вопросы по тегам