WiX: Old versions don't disappear in Add/Remove Programs list
I have a Windows Service that I install and upgrade with WiX, and this works great (it's very fast!). The only problem is that if I upgrade from, say, 1.0 to 1.1, both copies still have entries in the Add/Remove Programs list.
So how can I make sure WiX removes its old/outdated entries in the Add/Remove Progra开发者_如何学Pythonms list when I perform an update?
Create a major upgrade. For example, use the MajorUpgrade element in WiX v3.5. http://www.joyofsetup.com/2010/01/16/major-upgrades-now-easier-than-ever/
An addendum to this - if the RemoveFeatures
attribute of MajorUpgrade
is included, and names specific features to remove from the previous install (but not all of the features), that will cause the previous entry to remain in Add/Remove programs. If RemoveFeatures
is not included, all the features of the previous install will be removed, including the entry in Add/Remove programs.
Not directly an answer to the question but ... the installer only looks at the first 3 groups of the version number, the 4th group is ignored. If the only difference in the version is in the 4th group then it looks the same to the installer so the old version may not be uninstalled.
1.2.3.0 will upgrade to 1.2.4.0 but 1.2.3.4 will not upgrade to 1.2.3.5 - it doesn't see the 4-5 change because it doesn't look there.
精彩评论