Hi Chris,
Note that you can create "File Removal" operations in the Files and Folders page in order to delete files that have not been installed by the package. Similarly, for a registry key you can select the option "Delete (if present) at uninstall" in the "Registry Key" tab of the "Edit Registry Key" dialog.
If you decide to use a Custom Action, you can schedule it under the Uninstall node in the tree control (or anywhere between InstallInitialize and InstallFinalize). The Execution Options should be set to "Deferred with no impersonation" and the Execution Condition to the one you have mentioned:
Code: Select all
REMOVE="ALL" AND (NOT UPGRADINGPRODUCTCODE)
This how-to article may prove useful.
Regards,
Ionut