It looks like there's a gap in continuous delivery and deployment.. But there are some tools that are really powerful and can fill in the gap!
I had the same problem a while ago and I found an amazing tool that saved my life, and everyones in my company that had to deploy manually our solution -every release- to all our customers. This tool is called Octopus Deploy.
In their Website they describe the product as:
Octopus Deploy is a user-friendly release management system for professional .NET developers.
It enables automated, frequent, low-risk releases of ASP.NET applications and Windows Services into development, test, staging and production environments.
And it really does very well.
This is the way we set it up in my company:
We have a Git repository divided in three branches: dev-pre-pro.
As a continuous integration tool we use Hudson. Everytime Hudson compiles any of the three branches, it generates a Nuget Package (using OctoPack + MSBuild).
This packages can be consumed from our OctopusDeploy Administration site inside our domain. OctopusDeploy basically pushes nuget packages to its "tentacles" (services installed in the machines where we want to deploy) and performs custom actions using PowerShell.
This way, using PS scripts you can copy your brand-new-just-compiled-solution to the selected environment, start/stop services before or after copying or even update your Database. Just let your imagination flow..
So after we compile the project in the CI tool (it could be done using TFS) we can go to OctopusDeploy's administration site and perform an update to any of our environments (dev-pre-pro) with just two clicks!
Ps.- I don't work for OD, but I think it's an amazing tool! ;)