14

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

SQL Server 2008 R2 Management Studio Windows 正在配置 SQL Server 2008 R2 Management Studio 请稍候

在进度条和一些延迟之后,抱怨:“您尝试使用的功能位于不可用的网络资源上。” 带有指向源的选项,它显然正在尝试使用不存在的 c:\687b0370badbfcf47c\x86\setup\ 。

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

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

所以我的问题是:

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

  • 为什么它首先要这样做?
4

3 回答 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"
于 2013-02-13T15:26:11.417 回答
6

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

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

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

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

于 2010-10-28T08:30:24.043 回答
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以管理员权限打开。

于 2020-02-18T05:39:55.650 回答