EDIT: Perhaps look at the answer currently immediately below.
This topic has been a headache for long time. I finally figured it out.
There are some solutions online, but none of them really works. And of course there is no documentation.
So in the chart below there are several properties that are suggested to use and the values they have for various installation scenarios:
So in my case I wanted a CA that will run only on uninstalls - not upgrades, not repairs or modifies. According to the table above I had to use
<Custom Action='CA_ID' Before='other_CA_ID'>
(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
And it worked!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…