>Still trying to decide on distributing the MDFs or just running a script. I'll need to run scripts for upgrades, so I have to have that capability in any case.
>
>I also haven't decided on using SMO, Process.Start(sqlcmd), or breaking the SQL on the "GO" words and using the normal ExecuteNonQuery.I've always used scripts. I used to use an old utility I wrote in 2002 (using VFP) for processing versioned scripts to create a database. The database is updated with the same utility when new scripts are available. It uses SQL DMO (because it's so old).
This year, I finally got around to writing a .NET version of my VFP utility. I used SMO this time around. The list of script versions are stored as XML (whereas the actual scripts are simply .sql files). Not very secure, since the whole database schema can be seen by looking at those files (whereas, all the scripts in my VFP version were stored in DBFs). I'm not sure if that matters or not ... but this was a quick-and-dirty utility I wrote and might make better when/if I have time to get around to it.
Also, this was regular SQL Server, not Express ... although I doubt if that matters either.
Just my 2 cents.
~~Bonnie