如何停止SQL Server 2008 R2在构建设置项目时尝试安装某些软件包?

14

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

SQL Server 2008 R2管理工具 请稍候,Windows正在配置SQL Server 2008 R2管理工具

进度条运行一段时间后,会出现错误提示:“您要使用的功能位于不可用的网络资源上。” 并提供指向源位置的选项。它似乎试图使用 c:\687b0370badbfcf47c\x86\setup\,但该文件夹并不存在。

如果此时我点击“取消”,则会提示:“找不到产品 SQL Server 2008 R2 Management Studio 的安装包。请使用有效的安装包 'sql_ssms.msi' 再次尝试安装。”

此时我就只能看着进度条倒退,然后又重新开始了。此时SETUP构建正在等待尝试为我的项目构建MSI。有一次,这导致Visual Studio崩溃。其他情况下,我已经成功地告诉进度条窗口取消,然后我的设置项目可以正常构建。

因此,我的问题是:

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

  • 为什么会出现这种情况?
3个回答

21

当你建立一个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"

谢谢。第一个答案对我有用,但如果它再次出现问题,我会记住这个提示。 - Dronz
我的x64机器上运行得非常好。 - Yogee
这个问题让我疯了,毫无意义!它对我有用,非常感谢你! - Mari Faleiros
1
谢谢,你救了我的一天。这应该是被接受的答案。我想补充一点,就是在Power shell或CMD中运行上述命令时,应该以管理员模式打开。我投了赞成票! - Muhammad Qasim
为什么会发生这种情况? - Vilas Joshi

6

c:\687b0370badbfcf47c文件夹是在运行SQL安装程序时创建的 - 它会创建一个随机命名的文件夹,然后将所有设置文件扩展到该文件夹中。你缺少的任何功能仅被“广告”安装,而不是完全安装,这意味着直到你实际尝试使用该功能之前,它都不会被安装,这就是VS的发布功能所做的。

我无法猜测确切缺少什么,但以下是如何解决它。

  • 卸载当前SQL实例(这将花费10至15分钟,具体取决于您的计算机速度),然后重新安装。确保选择允许您选择要安装的功能的安装选项,然后确保已选择数据库引擎、客户端连接工具、管理工具(如果有)以及管理工作室(如果有 - 没有它管理数据库非常麻烦)。

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


0

就是这样,

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"

注意:以管理员权限打开cmd

这跟Zubair的答案是一样的,不是吗? - Dronz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接