that's only true as long as you keep the name the same for the application, same files, and same reg keys, which is highly unlikely in revision revamps.
It's also untidy to overwrite an existing program, when there are obselete files that may exist in the directory, legacy registry values and keys etc...
If the user did an unstall, it would only remove the newest edition of the program, leaving the old stuff behind. This is not sufficient.
Are there ways to manipulate the setup to uninstall the application, but keep system settings? It would be sort of an overwrite, but clean up of the old files too?
Another thing that seems to not work all that well are registry settings that are manually inputted into the reg editor. There's an option to have the program remove the reg entry when uninstalled, and this is, by default, set to false. (ie, when uninstalling, leave this stuff here). That would be great, because you could uninstall the previous version, and know that all the settings are still there for the new one to use. But when I've uninstalled my app, it removes the reg settings I said I wanted to remain.