如何构建一个使用 SQL Server LocalDB 的 C# 应用程序和安装程序,以便在没有 UAC 提示的情况下在同一台 PC 上的所有用户都可以访问?

问题描述

我的应用在 Windows 管理员帐户下运行正常,没有问题。

除了在来宾帐户下运行时,它必须以管理员身份运行才能访问数据库,否则我会收到错误

无法更新 .mdf 数据库,因为数据库是只读的

所以如果来宾帐户希望应用程序正常运行,UAC 总是会弹出。

该应用程序的目的是为所有人服务,但是每当来宾用户运行它时,管理员都必须跑过去并将他的密码输入 UAC - 这会耗尽每个人的耐心,你不觉得?我需要(在我看来,合乎逻辑)是让它在安装后自动管理员身份运行(管理员无论如何都会安装它)。或者至少,管理员只需在 UAC 上输入一次密码,而不是每次都输入。

这真的不容易获得吗?

解决方法

设置数据库文件的权限:

  • MyDatabase.mdf
  • MyDatabase_log.ldf

这样每个人都有完全控制