Uninstalling another product during install using

2019-05-17 18:22发布

问题:

I want to be able to remove another application as part of the install of my MSI file. Currently, I have the following in WiX:

<Upgrade Id="{586A589B-D6D5-48D3-9B6D-571EF230ED6A}">
    <UpgradeVersion Minimum="$(var.ProductVersion)"
                    Property="NEWERPRODUCTFOUND"
                    OnlyDetect="yes"
                    IncludeMinimum="yes" />
    <UpgradeVersion Minimum="1.0.0"
                    Maximum="$(var.ProductVersion)"
                    Property="PREVIOUSVERSIONSINSTALLED"
                    IncludeMinimum="yes" />
</Upgrade>

<Upgrade Id="{71F6B5D5-8CB9-48C9-B359-4BA22D5ADAF3}">
    <UpgradeVersion Minimum="1.0.0.0"
                    Maximum="3.5.3"
                    Property="OLDAPPFOUND"
                    IncludeMinimum="yes"
                    IncludeMaximum="yes"/>
</Upgrade>

The first upgrade section is what upgrades my current MSI file (and this works). The second part is what I am trying to use to remove the other application (and this doesn't). Both the current MSI file and the one I am trying to remove both install in the per-machine context, so I cannot understand why this doesn't work. How can this problem be fixed?

回答1:

A verbose log file should indicate what products are being detected by the Upgrade elements. From there it should be possible to track down the bug in your authoring.