Creating setup in vb.net with sql server
-
04-07-2021 - |
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.
When I write programs that require SQL Server to be installed on the client, I use the following logic :
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.