I have created a msi install package for my project from the VS2008 deployment project. but I am having problems when it comes to upgrading installs, The previously installe
(Oliver's answer is correct, but I wanted to add pictures and some more details)
Select the setup project in your solution, then open the Properties pane (the tab next to Toolbox):

DetectNewerInstalledVersion is true (it is be default)InstallAllUsers to trueRemovePreviousVersions to trueVersion number and hit EnterProductCode, click yesAdditionally, you need to update the version numbers for each project in your solution, because the installer will only replace DLLs if their version number has been incremented:
AssemblyVersion and AssemblyFileVersion numbersOr a better way:
AssemblyVersion and AssemblyFileVersion lines from each project's AssemblyInfo.csRight-click on the setup project and select Properties (a different Properties dialog):
I'm not sure if all of these steps are necessary, and there may be other ways to set this up, but the above steps work for me.