The Database Publishing Wizard (http://www.codeplex.com/sqlhost)
I think there is a lot of work that needs to be done in this tool. I will include the a few list of items below.
. There is no versioning functionality that will check to see differences between the target database and the deployment database.
2. Partitioning Data.
There is no way of selecting "system" data (data required for the application to work. e.g. administrator account). The developer may need to only include sample data or have an option of excluding sample data.
3. Encrypted Objects.
How does the publishing wizard behave on encrypted stored procedures and Views?
The User defined functions are not published.
5. Dependency Checks.
There is no dependency checking, which results in a script which may not run because parent objects have not been created yet.
I'm still trying to find the best way to deploy a database. I stumbled upon a tool called xSQL Builder from www.xsqlsoftware.com
Interesting, but costs $599.
Some of the clues, that seem very good from the xSQL Builder are that
1. It uses "backup" and "restore to target" which means it would be able to deploy all database objects.
I therefore think that the best way is to use the traditional backup/restore or the detach/attach and post-tasks will be for upgrade scripts or sample data.
It would be nice to have a single output executable file (maybe .cmd) which can accept arguments and install either sample or system data and upgrade schema if necessary.