How do I get SQL 2008 Express into the deployment?


  • Soon I'll start work on a major project; to re-write an old VB6 app into a WPF app.  One of the things that must go into this is a SQL Server 2008 Express database.  I've done one other WPF app, which is distributed to users desktops via ClickOnce, and that has worked great.  However, it doesn't have any local data store.  In trying to figure out how ClickOnce does things, where it puts the executables, etc, but I've no clue.  They don't appear to me to be under Program Files\<Application Name> or anything like that.  But I do assume that all files of an application are "all together", wherever it is.  When I make changes to my first WPF app and publish it to the file share, all of my users' applications update themselves.  Way cool.

    But what do I do with an application that relies on a SQL Express data store?  I certainly do not want it to replace the SQL Express file, when I push out a new version of my app, for example.  That could literally be disasterous for us!  It would be much better if the SQL Express database was in something like the user's My Documents folder.  That when they run the setup to install my program for the first time, it install the SQL Express database where it will permanently reside, and that all subsequent updates leave the SQL Express database alone.  How do I do that?

    Tuesday, April 12, 2011 8:12 PM


All replies