我们最近从VS 2008迁移到VS 2013,包括一组安装项目。其中一个安装项目旨在安装Web应用程序。它有一个自定义操作,用于检查与数据库的连接。在迁移期间没有触及自定义操作的代码,并且从VS 2008生成时.msi工作正常。当我从VS 2013构建.msi时,它在我们的本地开发服务器上安装时运行良好,并抛出错误说在客户端环境中推出时它无法连接到数据库。
如果有人能指出我的搜索方向,我真的很感激。我知道我正在传递正确的连接字符串,从VS 2008生成的.msi可以从同一服务器连接到该数据库。
答案 0 :(得分:1)
为Everyone安装的Visual Studio自定义操作将与本地系统帐户一起运行。连接到SQL DB通常会失败,因为数据库不允许系统帐户连接,或者因为数据库位于网络共享上且系统帐户没有网络权限。
因此,由于数据库的安全设置或者因为数据库在网络上,它可能会失败,并且它可能与服务器无关。如果安装与Just me设置一起运行,它也可能会连接,因为自定义操作将随安装用户的凭据一起运行。架构也可能存在问题,因为服务器是64位且32位子系统是可选的,并且您没有说明您是安装了x64还是自定义操作代码。