我正在尝试通过 Visual Studio 设置项目创建 Web 应用程序设置。应用程序所需的数据库也作为自定义操作安装在设置中。用户未提供任何用户名和密码来连接数据库。设置自定义动作需要通过windows认证连接数据库。但是当它试图连接数据库时,它会抛出一个异常——无法连接数据库。注意:Web 设置正在使用提升的访问权限进行安装。请提供通过网络设置“自定义操作”的 Windows 身份验证连接数据库的解决方案。
问问题
419 次
2 回答
2
问题很可能是 VS Everyone 安装中的自定义操作使用系统帐户运行,而不是安装用户的帐户。我敢打赌数据库不允许 SYSTEM 对它做任何事情。
它们作为系统运行,因为这是提升它们所需要的。如果您查看 CustomAction 表的文档:
http://msdn.microsoft.com/en-us/library/aa368069(v=vs.85).aspx
VS 生成设置了 msidbCustomActionTypeNoImpersonate 位的那些。其他工具可让您说出是否要模拟(安装用户),但 VS 不会,因此您需要在确定正确的自定义操作后使用像 Orca 这样的 MSI 编辑器来编辑 CustomAction 表。但是它不会升高。从长远来看,如果您需要这种程度的控制,那么您应该寻找另一个设置构建工具。
于 2014-09-16T18:06:59.140 回答
1
您想使用受信任的身份验证。此连接字符串将允许静默登录到 SQL Server:
Provider=SQLNCLI10;Server=[ServerName OR ServerName\InstanceName];
Database=myDataBase;Trusted_Connection=yes;
于 2014-09-16T12:51:59.000 回答