且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用SQL Server数据库部署Windows应用程序

更新时间:2022-11-25 14:20:27

部署exe和.NET并不困难:只需创建一个Set and Deployment项目并按照说明进行操作即可. -它将根据需要安装相关的.NET框架.

Sql Server更复杂:
您不应在安装中包括SQL Server.有两个原因:
0)您只能出于版权原因分发SQL Server Express-不能分发SQL Server完整版.
1)他们可能已经在网络上安装了SQL Server.如果是这样,那么他们大概会想使用该版本.
2)如果他们确实安装了SQL Server,并且您开始激增SQL Server Express实例,那么您将烦恼数据库管理员...
3)与在用户控制下的多个分散版本相比,备份SQl Server的单个站点的可能性要大得多.
4)对于普通"用户来说,安装和管理Sql Server非常复杂-这不是一个好主意!
5)它将破坏使用SqlServer而不是SqlCE或SQLite的主要优势-多用户访问.如果每个人都安装了自己的SQL Server副本,那么您将拥有数据库的多个副本,每个副本都由一个人使用.这将引起一些混乱,并且(取决于您编写原始数据库的方式)在实现问题时可能需要花费相当大的精力才能组合成一个实例.

而是在MS网站上提供指向SQLserver Express的链接,让客户这样做,但在销售前请弄清楚.
Deploy of the exe and .NET is not difficult: just create a Set and Deployment project and follow the instructions - it will install the relevant .NET framework as necessary.

Sql Server is more complex:
You should not include SQL Server in your installation. There are a couple of reasons:
0) You can only distribute SQL Server Express for copyright reasons - not SQL Server full version.
1) They may already have SQL Server installed on the network. If so, then they will presumably want to use that version.
2) If they do have SQL server installed and you start proliferating SQL server Express instances, you are going to annoy the heck out of the database administrator...
3) A single site installation of SQl Server is a lot more likely to be backed up than a number of scattered version under user control.
4) Sql server is quite complex for a "normal" user to install and administer - it is not a good idea!
5) It will destroy the primary advantage of using Sql Server over SqlCE or SQLite - multiuser access. If everyone installs their own copy of SQL server, then you will have multiple copies of your database, each used by a single person. This will cause some confusion, and (depending on how you wrote the original database) may take some considerable effort to combine into a single instance when the problem is realized.

Instead, provide a link to SQLserver Express on the MS site, and let the customer do it, but make that clear before sale.