That's an excellent idea and we would love to do the same. Windows Installer packages are the right way to go. But in the real world you have to struggle with ugly products that can be real monsters to tame:
- Require one or several reboots as part of the setup routine
- Perform reboots and have no option for suppressing them
- Have never heard of anything "unattended"
- Contain mysterious custom actions that are immune to repackaging
- Don't know how to spell "uninstall"
You would like to trash those fine products and get a refund? Lucky if you are in a position to do so. But for most of us - we have to get out those packages on our machines. There is no one-fits-it-all solution that doesn't involve custom scripting.
PackageShell was born out of the need to standardize this kind of scripting.