【发布时间】:2016-01-01 20:06:34
【问题描述】:
可以 ClickOnce 或 InstallShield 设置或配置 SQL Server 或 SQL Server Express,专门添加sa 密码、启用命名管道、授予从文件夹读取的权限、添加我的客户端应用程序所需的主数据库(.mdf 文件)。
或者我是否需要从我的客户端应用中对这些功能进行硬编码?
【问题讨论】:
标签: c# sql-server clickonce installshield
可以 ClickOnce 或 InstallShield 设置或配置 SQL Server 或 SQL Server Express,专门添加sa 密码、启用命名管道、授予从文件夹读取的权限、添加我的客户端应用程序所需的主数据库(.mdf 文件)。
或者我是否需要从我的客户端应用中对这些功能进行硬编码?
【问题讨论】:
标签: c# sql-server clickonce installshield
ClickOnce 能做到吗?
是的,但是...... ClickOnce 可以像这样安装依赖项,但由于 SQL Server 安装的性质,我个人会避免这样做。对于那些匆忙或不喜欢在出现问题时处理奇怪问题的人来说,这不是一项任务。您可以查看How to deploy SQL Server 2008 Express as a prerequisite with ClickOnce 和ClickOnce Prerequisites: where is SQL Server Express 2014 LocalDB? 的帖子。
InstallShield 能做到吗?
是的,但可能而且可能会有曲线球。你可以这样做:
我个人不会采用这两种方式——相反,我会编写一个自定义操作来调用 SQL 安装程序并传入收集的参数(即 SQL 的安装位置、初始登录的密码等)。 SQL 安装也不是严格事务性的 - 它在安装过程中可能会失败,并且某些更改不会被撤消。
如果您设法将它作为安装程序引导程序放在一起,请注意Can't install SQL Server by using InstallShield or bootstrapping application 之类的问题。
我还建议您为用户提供安装 SQL Server 的选项,因为他们可能已经有一个可用的实例 - 尽量不要总是安装它。
数据库的创建和配置呢?
这可以通过多种方式完成,但在 MSI 安装程序中完成这一切开始变得非常复杂 - 为最终用户编写一个简单的配置实用程序或构建功能到您的应用程序。
如何创建数据库和配置 SQL 实例在很大程度上取决于您的要求,而您在问题中没有指定。
【讨论】: