views:

157

answers:

1

I've developed an application for my college project in Visual C# which uses SQL Server 2008 Express database. My application is desktop-based. But the problem now is deploying the application. Is it required that a SQL Server 2008 be installed on the client machine (with my tables and data inserted) or can I just have the .mdf file exported and everything works well?

Is there a way to escape the installation of SQL Server 2008 on the target machine?


Sorry, just found a duplicate: http://stackoverflow.com/questions/954419/does-user-need-sql-2008-express-installed-if-i-deploy-app-with-mdf-file

+3  A: 

You can deploy SQL Server Express with your application. However, most of the time this is just the wrong thing to do. SQL Server Express is a server-class database, and likes to use up system resources as such. It also runs as service, which means it's using those resources even when your application isn't active.

Instead, you should choose a desktop (or in-process) class engine, like SQL Server Compact Edition, Sqlite, or even MS Access. In addition to being an all around better choice for your desktop program, these database will also generally be much easier to deploy.

Joel Coehoorn