Some tips on using WiX to generate MSI installers: The GUID used as Product Id has to be unique for each release of the package. That is version 1.0 & 1.1 should have different product ids. So it's best to use auto-generated GUIDs for this like this: <product Id="*"... /> In other words do not hard code the product id. MSI only recognizes three quadrant product version numbers. Product upgrades essentially work by uninstalling the current version and then installing the new version. From MSI v3.5 onward upgrades are supported through the <MajorUpgrade.. /> tag. MSI does not define special actions for uninstallation. In fact, uninstallation is also treated as a type of installation. So if you want to run a custom action during uninstall, you have to use Condition predicates that cause them to run only during uninstallation. For example the following custom action is only run during uninstall as REMOVE="ALL" evaluates to TRUE only when al...
mostly notes & some thoughts...