The SharePoint Solution Deployer
Deploying Solutions can be a …. (fill in as you wish).
The SharePoint Solution Deployer offers a great opportunity to writing your own scripts. The existing functionality should match your needs to deploy SharePoint Solutions. If not, the “framework” can be extended with custom Extensions or simple PowerShell code.
I’ve written two Extensions, which let you enable and disable features upon deployments and reset files to their site definitions (aka ReGhost).