Use different compile scripts for different versions of your program--what needs to be different in the compile script is the registry key the installer is looking for. When an install package finds that the key is already registered it will try and do the uninstall, which is really handy if you want it to do that, and not handy at all if you don't :)