1. Change your package code. I set Product Configuration to generate a new package code every time I build a release. (this one is obvious, and is documented)
2. Increment your product version number. (this one is obvious and documented)
3. For your release, set the MSI command line params to:
REINSTALLMODE=voums REINSTALL=ALL
4. Create a custom action to set the property REINSTALL to a value of {}
5. Create a custom action to set the property REINSTALLMODE to a value of {}
6. Go to the Sequences view. Under Installation/User Interface insert both custom actions after CostInitialize. Give both of them a condition of "Not Installed"
7. Under Installation/Execute insert both custom actions after CostInitialize. Give both of them a condition of "Not Installed"
8. When a minor upgrade occurs, your script will execute the OnResumeUIBefore event, and the OnResumeUIAfter event. You can add custom script to those.