I have built an MSI that I would like to deploy, and update frequently. Unfortunately, when you install the MSI, and then try to install a newer version of the same MSI, it fails with a message like "Another version of this product is already installed. Installation of this version cannot continue..." appears. The MSI was built with a Visual Studio 2008 Setup Project. I have tried setting the "Remove Previous Versions" property to both true and false, in an effort to just make newer versions overwrite the older install, but nothing has worked. At a previous company I know I did not have this problem with installers built by Wise and Advanced Installer. Is there a setting I am missing? Or is my desired functionality not supported by the VS 2008 Setup Project?
I have built numerous MSIs with VS 2005 Pro that do this correctly.
Are you sure that the 'Version' property of the deployment project has been incremented? This property is independent of the version of the assemblies in the application, and this is the error message you will see if the Version property of the MSI is the same as it was for the one you are trying to overwrite.
Increment the version number on your project.
In VS, select the node for your setup app and hit F4 to view the properties. Find the version field, and increment it.
You need to change the ProductCode between each version, if you don't do this you will get the behavior you are seeing. The ProductCode is seen in the project properties. Check out the MSDN Online Help for ProductCode to understand better.
Had the same problem when going from XP to Win7. To solve it I had to set DetectNewerInstalledVersion to False. Also, as mentioned by others, you need to inc the version of the setup project.
Good luck.