发现计算机上安装的sqlserver

时间:2011-07-15 13:18:43

标签: deployment clickonce

我要部署一个应用程序点击一次并想知道处理数据库的最佳技术是什么,因为点击一次安装sqlserver给我我想知道我如何确定安装的sqlserver以便在应用程序首次运行时,看到它并创建sqlserver数据库。

我不会使用Windows安装来分发此应用程序,因为它将具有多个版本的更新,并且通过clickonce会更容易。

1 个答案:

答案 0 :(得分:0)

您使用的是哪种SQLServer?这是一些有用的信息。

如果是SQLServer Express,则需要将数据库添加到项目中,并将构建操作设置为“content”,并将“copy to output directory”设置为“copy newer”。这将确保数据库包含在部署中。

接下来,进入先决条件对话框并选择SQLServer Express。当用户运行setup.exe时,它将检查并查看是否已安装,如果没有,将安装它。

如果您需要最新版本的SQLServer Express,您可以找到如何创建引导程序包here - Microsoft不提供,但本文提供了您需要的XML并提供了指向SQLServer的链接快速下载。

如果您使用的是SQLCE,则需要将数据库(* .sdf)附加到项目中,并按照上面的说明设置属性。但是,您不需要将此作为先决条件发布,您只需在项目中包含dll's here

当您发布新版本时,如果数据库已更改,ClickOnce会将新数据库放入DataDirectory并将旧数据库放在DataDirectory的\ pre子文件夹中,您必须编写代码来处理它。这听起来很吸引人,但我认为这很危险。如果您甚至打开数据库来查看结构,它将更改日期/时间戳,ClickOnce会认为它是新的并发布它,您将收到客户关于其数据丢失的电话,除非您处理此

因此,我通常建议您在用户首次安装应用程序时将数据库复制到LocalApplicationData,然后以编程方式处理对结构的任何更新。有一篇关于如何做到这一点的文章here

相关问题