I have a Microsoft Visual Studio Deployment Project that generates a basic setup.exe and appropriate MSI file. I leave the UpdateCode alone, but change the ProjectCode and Version on each build. I've also set the RemovePreviousVersions property to True. However, after I upgrade a machine, it seems as though any class flagged with COM does not become registered. I have to uninstall and reinstall the app for it to work. Any ideas why? This is done in VS 2010 targeting .NET 4. It's a COM-enabled WinForms app.