使用sql server在vb.net中创建安装程序

使用sql server在vb.net中创建安装程序,vb.net,sql-server-2005,installation,remote-connections,Vb.net,Sql Server 2005,Installation,Remote Connections,是否有任何可能的方法为我使用sql server作为后端在vb.net中编写的程序创建一个安装程序。我有一个模块可以创建数据库代码,我还为我的项目在vb.net中创建了一个安装程序,但我希望此安装程序即使在未安装visual studio和sql server的系统中也能正常运行。我尝试运行了它是在一个没有这两种设置的系统上运行的,但我得到的错误是sql server 2005不允许在默认设置下进行远程连接,我尝试更改一些设置,但似乎没有任何效果。是否需要一台服务器来创建数据库?一点谷歌总是能做

是否有任何可能的方法为我使用sql server作为后端在vb.net中编写的程序创建一个安装程序。我有一个模块可以创建数据库代码,我还为我的项目在vb.net中创建了一个安装程序,但我希望此安装程序即使在未安装visual studio和sql server的系统中也能正常运行。我尝试运行了它是在一个没有这两种设置的系统上运行的,但我得到的错误是sql server 2005不允许在默认设置下进行远程连接,我尝试更改一些设置,但似乎没有任何效果。是否需要一台服务器来创建数据库?

一点谷歌总是能做到这一点

要将SQL Server 2005配置为允许远程连接,必须完成以下步骤:

1.)在要从远程计算机连接到的SQL Server实例上启用远程连接

2.)打开SQL Server浏览器服务

3.)配置防火墙以允许与SQL Server和SQL Server浏览器服务相关的网络流量


当我编写需要在客户端上安装SQL Server的程序时,我使用以下逻辑:

  • 如果没有安装,我会提示用户下载它(或者使用您的安装程序脚本为他们下载。我使用NSIS安装程序)。确保根据您的要求(以及客户端的操作系统)为用户安装适当的版本。我通常使用sqlsever2008r2expressedition,SP1

  • 然后使用安装程序脚本命令执行SQL安装程序。在NSIS,它是ExecWait。在VB.Net中,您有类似的功能。您必须通过命令行参数安装它。以下是命令行参数列表:

    以下是我使用的:

    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
    

    您可以在安装项目的先决条件中包括SQL Server Express

    构建安装项目时,它将从C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\Bootstrapper\packages中获取安装所需的软件包

    然后,您可以修改SQL Express的package.xml文件,以更改安装对其进行配置的方式。查找Command Arguments元素,然后要打开混合模式身份验证,请添加SECURITYMODE=SQL 要启用远程访问,请添加DISABLENETWORKPROTOCOLS=0

    (对于SQL 2008 r2,它的/tcpenabled=1)


    最终用户运行iNtalation时,将首先安装SQL Express,并使用您指定的选项。

    Hmmm,为什么不尝试使用像SQLite这样的非服务器解决方案呢?sql lite是否可以使用与服务器相同的命令..抱歉,我对sql lite命令了解不多,并且我已经编写了很多在sql server中创建数据库的代码。我不想再次更改代码:(@peterG:谢谢你的回答,但我尝试将sql server express包含在先决条件中,它给出了相同的错误“不允许远程连接”…我不理解这一行,请详细说明“你可以在C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\Bootstrapper\Packages中修改package.xml文件”@user1532208:-非常感谢可能这是我应该研究的,我是否应该像执行sql代码那样执行命令行??:-谢谢scott,但我已经尝试过这个方法,这是一个相当长的过程,我不想让我的软件用户承担更改设置的负担。我是否可以通过正在写一个节目……你能指导我吗further@user1532208,scott,peterG,theZ:-我想让我的软件在xp、vista、windows 7和8上运行我的sql组件的最佳选择是什么…我应该使用哪个sql server版本适合所有操作系统,或者我可以使用其他软件??谢谢大家的帮助