3. In the web setup project:select Content files - > Exclude Filter and add Web.config (and all other Web.*.config files containing transformation rules).
You can still Exclude Filter all the other configs, but LEAVE the Web.config alone. It gets overwritten by the Web.Transformed.config that is renamed Web.config in the websetup build.
As it happened to me, excluding the original Web.config caused the MVC site I'm building to act as though it didn't recognize mvc routes in the global.asax. Not 100% why the web.config generation would cause this, but I have a way to work around it. With any luck, I won't need to continue building MSIs anyway.