我有一个 WPF Linq-to-SQL 项目,我一直使用 MS Visual Studio 2008 开发该项目。我正在运行 SQL Server 2008,最近将其升级到版本 R2。现在,每当我构建 SETUP 项目(而不是应用程序本身)时,构建过程都会启动一个窗口:

SQL Server 2008 R2管理工作室请等待Windows配置SQL Server 2008 R2 Management Studio

在进度条和一些延迟之后,抱怨:“您试图使用的功能是在不可避免的网络资源上。”有一个可以指向源的选项,并且显然正在尝试使用C: 687B0370BADBFCF47C x86 setup ,这是不存在的。

如果我此时单击“取消”,它会显示“找不到 SQL Server 2008 R2 Management Studio 产品的安装包。使用安装包“sql_ssms.msi”的有效副本再次尝试安装。”

然后我看到进度条向后退,然后一切又重新开始。此时,安装构建正在等待尝试为我的项目构建 MSI。有一次这导致 Visual Studio 崩溃。其他时候,我能够告诉进度条窗口取消,然后我的安装项目就可以正常构建了。

所以我的问题是:

  • 当我尝试构建我的设置时,如何让它停止启动不需要的安装程序尝试?

  • 它首先为什么要这样做?
有帮助吗?

解决方案

文件夹 c:\687b0370badbfcf47c 是 SQL 安装在运行时创建的内容 - 它会创建一个随机命名的文件夹,然后将其所有安装文件展开到该文件夹​​中。无论您缺少哪个功能,都只是作为“广告”安装,而不是完全安装,这意味着直到您实际尝试使用该功能(这就是 VS 的发布功能所做的事情)时它才会安装。

我无法准确猜测缺少什么,但这就是修复它的方法。

  • 卸载当前的 SQL 实例(这将需要 10 到 15 分钟,具体取决于计算机的速度),然后重新安装。确保您选择的安装选项允许您选择要安装的功能,然后确保您已选择数据库引擎、客户端连接工具、管理工具(如果可用)以及 Management Studio(如果可用 - 您也可以,在没有它的情况下管理数据库是 PITA)。

  • 或者您可以开始从同一 SQL 安装程序包安装另一个实例。进入初始设置屏幕后,打开文件资源管理器并找到它创建的临时文件夹及其扩展的安装文件。重新创建文件夹 c:\687b0370badbfcf47c, ,并将扩展的安装文件复制到其中。然后取消正在进行的安装。现在再次构建您的设置,SQL 安装将启动,但现在它应该完成并让您继续。

其他提示

当您生成 Microsoft Visual Studio 2010 安装项目时,可能会启动 Microsoft SQL Server 2008 R2 安装程序。要在 x64 系统上解决此问题:

regsvr32.exe /u “C:\Program Files (x86)\Common Files\microsoft shared\MSI Tools\mergemod.dll” regsvr32.exe “C:\Program Files (x86)\Common Files\microsoft shared\MSI Tools\mergemod.dll”

在 x86 系统上

regsvr32.exe /u “C:\Program Files\Common Files\Microsoft shared\MSI Tools\mergemod.dll” regsvr32.exe “C:\Program Files\Common Files\Microsoft shared\MSI Tools\mergemod.dll”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top