I'm trying to do somthing and it doesn't seem to be possible.
I have registry keys that I want to be removed on uninstall (i.e., to keep the user's machine clean and be well-behaved). However, I want these keys to remain untouched during an upgrade (since they contain important settings that will work with upgraded versions).
When I try this, with two .msi packages (one is a higher version so that it will upgrade the lower-versioned one), the upgrade seems to work fine, but the registry keys are removed. I assume this is because I have marked those keys to be removed on uninstall with "delete (if present) at uninstall", and Windows Installer is performing an uninstall/reinstall as part of it's upgrade process.
Is this what you'd expect? If so how can I work around it? I need to be able to let the users do a full uninstall (to wipe things clean in case of problems) but also to do a smooth upgrade without clearing those settings which may be important to the user.