I am installing my application as an admin user for all users. Using MSI self-healing, I have a component which installs preference files and a registry key under HKCU\SOFTWARE if another user tries to run the application.

However, if the admin-user uninstalls the application, I would like to remove my application registry key under HKCU\SOFTWARE for all users that ran my application. Is there a way to accomplish this?

When the admin user run a major upgrade of our application, it's possible for the preference files to change, so I need the newer version of the application to install the new preference files. Unfortunately, the other users who ran the previous version of the application will already have my application's registry key under HKCU\SOFTWARE so MSI self-healing won't run.