We found that .net based COM dll’s needed to be unregistered using Regasm.exe /u with the previous edition prior to loading and then registering the new edition. MS VS MSI projects didn’t do a very good job of unregistering COM dll’s. We discovered this after doing a range of upgrades to an application and attempting to use a .net MSI installer project. Essentially we broke XP’s add/remove programs with one of our installations, requiring an embarrassing set of “OS rebuilds” for a client. It was a very expensive lesson in COM registration and how poorly .net unregister occurs. VS 2012 doesn’t include MSI projects, you might also want to have a look at WIX projects http://wixtoolset.org/ as a replacement. It takes a few days to get up to speed and then I’ve found it to be very good tool.