在构建安装项目时,如何阻止SQL Server 2008 R2尝试安装某个软件包?

Dro*_*onz 13 visual-studio-2008 linq-to-sql sql-server-2008-r2 visual-studio-setup-proje

我有一个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崩溃.其他时候,我已经能够告诉进度条窗口取消,然后我的安装项目构建正常.

所以我的问题是:

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

  • 为什么它首先这样做?

小智 20

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

REGSVR32.EXE/U "C:\ Program Files文件(x86)的\ Common Files文件\微软共享\ MSI工具\现在Mergemod.dll" Regsvr32.exe的"C:\ Program Files文件(x86)的\ Common Files文件\微软共享\ MSI工具\现在Mergemod.dll"

在x86系统上

REGSVR32.EXE/U "C:\ Program Files文件\ Common Files文件\微软共享\ MSI工具\现在Mergemod.dll" Regsvr32.exe的 "C:\ Program Files文件\ Common Files文件\微软共享\ MSI工具\现在Mergemod.dll"


slu*_*ter 6

该文件夹c:\687b0370badbfcf47c是SQL安装在运行时创建的 - 它创建一个随机命名的文件夹,然后将其所有安装文件扩展到该文件夹​​中.您丢失的哪个功能仅仅安装为"广告"而不是完全安装,这意味着在您实际尝试使用该功能之前,它不会安装,这就是VS的发布功能所做的.

我无法准确猜出缺少什么,但这是如何解决它.

  • 卸载当前的SQL实例(这将取决于你的机器的速度10〜15分钟),然后重新安装.确保你把安装选项,允许您选择哪个功能来安装,然后确保你所选择的数据库引擎,客户端连接工具,管理工具(如果可用),并且还Management Studio中(如果有的话 - 你还不如,没有它管理数据库是PITA).

  • 或者您可以从同一SQL安装程序包开始安装另一个实例.一旦你到初始设置屏幕,弹出文件浏览器,发现它已经并将其扩展安装文件的临时文件夹.重新创建该文件夹c:\687b0370badbfcf47c,并将展开的安装文件复制到该文件夹.然后取消您正在进行的安装.现在再次构建您的安装程序,SQL安装将启动,但现在它应该完成并让您继续.