There's a few expressions I like to use: (Fair warning, these are cynical and/or sarcastic)
- Entropy is a bitch
- Once is an exception, twice is a pattern
- Death but a thousand cuts
- What's the problem with a little poo in the installer.
- Garbage In, Garbage Out
- Fix the installer and not the application. That's a great idea.
Every one of those things is a broken window and frankly, I don't allow broken windows. Unfortunately, that doesn't always make me a very popular person because developers are often quite self-convinced that their solution is acceptable.
So back to my initial comment about unit tests failing builds. For installs this is Windows Installer validation and I suggest custom ICE's to enforce quality standards. I suggest writing tests that enforce your coding standards. Don't allow selfReg? Write an ICE that checks the SelfReg table. Don't allow InstallUtil CA's? Write an ICE that scans for those. Allow only sanctioned DTF custom actions? Write a unit test that reads in a white list file and make sure only those custom actions exist.
Enforcing standards through automation is the best way to fight entropy that I know.