I haven't seen this problem when browsing the web, so here it is:
I used the .msi file (vs. right click -> Install, option on the setup project) to install "Version 1.0.7" product onto my computer.
I then changed my "Version" to 1.0.8 , and all projects Assembly Version/AssemblyFileVersion properties to 1.0.8.0. I deleted the old Primary Output, and added a new one where I made sure the version was correct under the KeyOutput expanded list. I did this because it didn't update after I changed all Assembly Versions to 1.0.8.0, and it stayed at 1.0.7.0 (the previous version).
I built my Setup project and went to my folder that contained the new 1.0.8 .msi file. I double-clicked and got the "Application already exists, remove existing in Add/Remove Programs" (or similar) dialog, and it stopped installation.
So I checked my:
ProductCode-they were the same between new/old versions,
UpgradeCode-also the same,
RemovePreviousVersion property-set to True between both versions. This is what I checked because I usually found as a solution in all my other searches, but it wasn't working.
So I unistalled the 1.0.7 version, installed 1.0.8 and all worked fine. Still didn't fix my problem where I shouldn't get the unistall first prompt. Note: I've been installing on "Everyone".
I unistalled 1.0.8 again (at this point, no versions exist/are installed), and tried this:
1. Install 1.0.7 from .msi file or Install 1.0.7 by right clicking it's setup project and using the "Install" option.
2. Right clicked 1.0.8 setup project and used the Install option from there.
3. No errors/dialogs pop up, the old version seems to have been unistalled first, then I continued with installation and new version was on the computer. This is what I want!
As you can see here, I need to beable to use 1.0.7 .msi file to install, then when I need to patch/fix/update, I need to be able to 1.0.8 .msi to not display a "Already exists" prompt and just overwrite/merge, but this isn't happening unless I use VS2010 Right Click>Install on the Setup project.
Any help is appreciated.
edit added bolding