Question

Is there any possible way to create a setup in for my program written in vb.net using sql server as the backend.I have a module which creates the database code and i have also created a setup in vb.net for my project but i want this setup to run properly even in a system which doesnt have visual studio and sql server installed.I tried running it on a system which doesnt have both but the error i get is sql server 2005 doesn't allow remote connections in default settings,i tried changing some settings but nothing seems to work.Is it necessary for a server to be there for creating the database?

No correct solution

OTHER TIPS

a little Google always does the trick...

To configure SQL Server 2005 to allow remote connections, you must complete these steps:

1.) Enable remote connections on the instance of SQL Server that you want to connect to from a remote computer.

2.)Turn on the SQL Server Browser service.

3.) Configure the firewall to allow network traffic that is related to SQL Server and to the SQL Server Browser service.

How To Configure Sql 2005 to allow Remote Connections

When I write programs that require SQL Server to be installed on the client, I use the following logic :

  1. Determine if SQL Server is installed on the client machine

  2. If it is not installed, I prompt the user to download it (or download it for them using your installer script. I use NSIS installer). Make sure to install the appropriate version for the user based on your requirements (and the client's operating system). I typically use SQL Sever 2008 R2 Express Edition, SP1.

I then execute the SQL installer using my installer script command. In NSIS, it's ExecWait. In VB.Net you have something like this. You'll have to install it via command line parameters. Here are the list of command line parameters: http://msdn.microsoft.com/en-us/library/ms144259(v=sql.100).aspx

Here's what I use:

C:\PathToMySQLDownload\SQLEXPR.exe /QUIETSIMPLE /SkipRules=RebootRequiredCheck
/ACTION=install  /IACCEPTSQLSERVERLICENSETERMS=1 /FEATURES=SQL
/INSTANCENAME=MSSQLSERVER /SECURITYMODE=SQL /SAPWD=MySAPassword /NPENABLED=1 
/TCPENABLED=1 /SQLSVCACCOUNT="NETWORK SERVICE" /SQLSYSADMINACCOUNTS="NETWORK SERVICE"
/AGTSVCACCOUNT="NETWORK SERVICE" /ASSVCACCOUNT="NETWORK SERVICE"
/RSSVCACCOUNT="NETWORK SERVICE" /ISSVCAccount="NETWORK SERVICE"
/ASSYSADMINACCOUNTS="NETWORK SERVICE

You can include SQL Server Express in the Pre-requisites for your setup project.

When you build the setup project, it will pick up the packages that are required for the installation from C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages

You can then amend the package.xml file for SQL Express to change how it is configured by the installation. Look for the Command Arguments element, and then to switch on Mixed mode authentication add SECURITYMODE=SQL to enable remote access add DISABLENETWORKPROTOCOLS=0

(or for SQL 2008 r2 it's /tcpenabled=1 )

When the end user runs the isntallation, SQL Express will be installed first, with the options you have specified.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top