c# - 使用自举的 SQL Express 创建数据库

标签 c# sql wix sql-server-express wix3.5

我编写了一个应用程序,该应用程序使用 Wix 3.5 安装程序引导 SQL Express 2008,然后尝试在首次运行该应用程序时创建数据库。 SQL Express 的安装因此完全无人值守。当安装应用程序的帐户是机器上的管理员时,这一切都可以正常工作。

然而,不出所料,以非管理员身份安装时会出现问题。当我们尝试运行 CREATE DATABASE sql 时,它会发出声音 -

sql express 2008 create database permission denied in database 'master'

显然,标准用户帐户没有正确的权限。所以我们需要以某种方式授予标准用户正确的权限。我考虑过捆绑一个单独的可执行文件,它被迫以管理员身份运行(通过 UAC),这将创建数据库并将新数据库的权限分配给用户帐户——这不是一个非常优雅的解决方案。

这似乎是您在部署应用程序时想要做的显而易见的事情,但似乎缺乏关于该主题的信息。寻找建议 - 谢谢。

最佳答案

这是一个相当常见的先决条件,即在安装应用程序时,您需要是安装它的机器的管理员。为什么你不能简单地将其作为先决条件?大多数系统管理员无论如何都不希望他们的非管理员用户安装应用程序。

关于c# - 使用自举的 SQL Express 创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3370105/

相关文章:

c# - 属性构造函数在运行时的什么时间运行?

SQL 组表按 "leading rows"没有 pl/sql

php - SQL:从数据库表中的一列中选择不同的值

wix - 如何使用 WIX 3.5 项目/设置将 net.tcp 添加到 "Enabled protocols"?

c# - 使用 Entity Framework 从数据库填充列表框

c# - wait Task.CompletedTask 是否意味着异步方法将同步运行?

sql - 我可以按多个列排序并以某种方式保持 MySQL 中列之间的排序相关吗?

installation - 如何在每用户安装程序中使用 WiX 安装程序将应用程序与现有文件类型关联?

installation - 确定 Wix 中可执行文件的较新版本

c# - AdSense 和 Webstats 等系统如何运作?