How to Deploy Application with SQL Server Database on Clients

How to deploy application with sql server database on clients


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.

Here are the 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.

For more information take a look at following docs articles:

  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

Option 2 - ClickOnce

Using Visual Studio another option is using ClickOnce publishing.

To do so, 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".


For more information take a look at the following docs article:

  • How to: Publish a ClickOnce Application using the Publish Wizard

C# application deployment with sql server database?

1 - Attach database to the SQL Server instance (Either using .mdf and .ldf files or using a DB backup)

2 - Change your connection string before deploying the application in client machine. If you don't have a config file and you've hard coded the connection string then you'll have to change the connection string to reflect client's machine name, SQL Instance name and DB name and compile the application before deploying.

You may refer to the following URL to get an idea how to configure your connection string.

http://www.connectionstrings.com/sql-server/

How to deploy sql server database at client side?

You need to install SQL Server on your client pc (Express Edition could be good if you're familiar with its limits).

Then your app can use database file as in your development pc.

Deploy application with database


Is it possible to install my app in the client machine without SQL
Server being installed?

It's depends, if the client is in the same LAN as your SQL DB server, then yes, otherwise, it is impossible to interact with remote SQL DB server if you're both not at the same network.

Can i include my database while deploying the app?

Yes you can, look here

Can SQL Server be installed on my client's machine, if it has been
checked in the prerequisites when deploying ?

There are light server versions for client environments, see SQL Server Express



Related Topics



Leave a reply



Submit