C# Question

How to deploy application with sql server database on clients

I have designed an accounts software for my clients. I used Sql Server 2008 database with Stored Procedures. It is developed in Visual Studio 2010, dot net framework 3.0. I have more than 500 clients using windows 7.

The major problem is :


Is sql server runtime is automatically installed with dotnet frameworks ? As MS Access database does not required Office to be installed on client.

I can not installed sql server 2008 on each client, its a tough job. Also the clients are not having a good knowledge of installation process.



How to run sql server database on clients without installing its setup on clients ? Is there any runtime files or setup ?

Answer Source

Option 1 - Setup Project:

Using Visual Studio you can create a setup project and install prerequisites that you need during installation.

The installation process is very simple and the end user can install application and prerequisites after clicking next buttons.

  1. How to: Create or Add a Setup Project

  2. How to: Install Prerequisites in Windows Installer Deployment

  3. Walkthrough: Using a Custom Action to Create a Database at Installation

When setting prerequisites, its enough to select SQL Server Express.

Option 2 - ClickOnce:

Using Visual Studio another option is using ClickOnce publishing.
In properties of your project, in publish tab, click prerequisites button, you can select SQL Express in prerequisites. This way, you only need to set your database files to copy in output directory, and use AttachDbFileName in connection string: Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\Database.mdf; Initial Catalog=Master"

Steps for Creating a Setup Project:


1- Create a c# Windows Forms Application

  1. Create a C# Windows Forms Project
  2. Add New Item and Add SQL Server Database to your application
  3. Add a table to your application and fill some data in it
  4. Show the data in your main form.

2- Create a Setup Project

  1. add new project => setup and deployment => setup project
  2. Right Click on Setup project and Add project Output and select primary output from your main project
  3. Right Click on Setup project and Add project Output and select content files from your main project
  4. Right CLick on setup project and Click Properties and click Prerequisites and select SQL Server Express
  5. Select .Net Framework
  6. Select Windows Installer
  7. Select radio button Download prerequisites from the same location as my application.
  8. Right Click on Users Desktop at left pane and add new Shortcut and select application folder, primary output from SampleApplication, and click ok and the rename the short cut to what you need.
  9. Rebuild solution.
  10. Rebuild Setup Project
  11. Go to Output directory of setup project and run setup.exe

It's that easy.