VS2017 团队资源管理器的 SSDT 安装失败

SSDT Installation for VS2017 Team Explorer Fails

我正在尝试将 SSDT v15.6.0 安装到现有的 Visual Studio Team Explorer 2017 实例中。当我 运行 SSDT 安装程序时,我可以从现有 Visual Studio 实例列表中 select Visual Studio Team Explorer 2017。如果我不选择任何选项(除了必需的 SQL 服务器数据库选项)。安装成功完成。

但是,如果我尝试选择 any/all 其他选项,安装将失败。通过查看日志文件,VSIX 的安装似乎由于缺少必需的组件而失败。

下面是 SSDT-Setup 安装日志文件的片段,表明 VSIX 安装失败。

[167C:1A6C][2018-05-16T15:40:41]i301: Applying execute package: Microsoft.DataTools.IntegrationServices, action: Install, path: C:\ProgramData\Package Cache64EE5369359DB622D0234B6C6B7640B949140C\VSIXBootstrapper.exe, arguments: '"C:\ProgramData\Package Cache64EE5369359DB622D0234B6C6B7640B949140C\VSIXBootstrapper.exe" /q /admin /instanceIds:"68f392fc" /logFile:"C:\Users\golaat\AppData\Local\Temp\SsdtSetup\SSDT-Setup-ENU_20180516153141_009_Microsoft.DataTools.IntegrationServices.log" "payload\Microsoft.DataTools.IntegrationServices.vsix"'
[167C:1A6C][2018-05-16T15:41:13]e000: Error 0x80131500: Process returned error: 0x80131500
[167C:1A6C][2018-05-16T15:41:13]e000: Error 0x80131500: Failed to execute EXE package.
[1D80:1858][2018-05-16T15:41:13]e000: Error 0x80131500: Failed to configure per-machine EXE package.

查看 VSIX 安装的日志文件,似乎缺少必需的组件:

 5/16/2018 3:41:05 PM - BEGIN: Targetting Visual Studio Team Explorer 2017,15.0.27428.2043
 5/16/2018 3:41:05 PM - BEGIN: Execute batch install
 5/16/2018 3:41:08 PM - BEGIN: Preparing extension Microsoft Integration Services Projects
 5/16/2018 3:41:08 PM - Loading extension: Microsoft Integration Services Projects
 5/16/2018 3:41:10 PM - JSON file loaded
 5/16/2018 3:41:10 PM - The dependent package of 'Component.D1B09713-C12E-43CC-9EF4-6562298285AB,version=1.4' cannot be found: Microsoft.VisualStudio.Component.SQL.SSDT,version=[15.0,16.0).
 5/16/2018 3:41:10 PM - END: Execute batch install
 5/16/2018 3:41:10 PM - END: Installing
 5/16/2018 3:41:10 PM - Common folder deleted: C:\Users\golaat\AppData\Local\Temp\s0ggmkmo.cwz
 5/16/2018 3:41:10 PM - Microsoft.VisualStudio.Setup.Dependencies.DependencyGraphConstructionException: The dependent package of 'Component.D1B09713-C12E-43CC-9EF4-6562298285AB,version=1.4' cannot be found: Microsoft.VisualStudio.Component.SQL.SSDT,version=[15.0,16.0).

有没有办法识别这个缺失的组件并手动安装它?

由于 Visual Studio 中的错误,目前已损坏 - 请参阅开发者社区网站上的 post: SSDT cannot install onto 15.7 version of Visual Studio

它将在即将发布的 Visual Studio 更新中修复,但如果您等不及修复,解决方法是完全卸载 Visual Studio 并安装旧版本。请在此处查看我的回答以获取说明:

随着 SSDT 15.7.1 的发布,团队资源管理器不再显示为 SSDT 中现有的 Visual Studio 安装实例选项。起初我担心 SSDT 安装会安装没有 TFS 连接的 Visual Studio shell,但事实并非如此。 Visual Studio shell 的 SSDT 安装似乎是在 Visual Studio Team Explorer 2017 已经安装在机器上并且 SSDT Visual Studio shell 实例具有完整的 TFS 连接!

我就是这样修复它的:

  1. 运行 安装程序正常到最后,让它失败。
  2. 当它失败时 window 将有一个 link 到日志文件,打开它。
  3. 在这个日志文件中,错误(进程返回错误:0x80131500)之前的1或2行会显示问题组件位置,如下所示:

[6748:674C][2020-07-29T09:44:03]i301: Applying execute package: ISVsix, action: Install, path: C:\ProgramData\Package Cache160B731819F56D87A626F9A2777550340022D7\VSIXBootstrapper.exe, arguments: '"C:\ProgramData\Package Cache160B731819F56D87A626F9A2777550340022D7\VSIXBootstrapper.exe" /q /admin /instanceIds:"5403e431" /logFile:"C:\Users\xxxx\AppData\Local\Temp\SsdtisSetup\Microsoft.DataTools.IntegrationServices_20200729093525_11_ISVsix.log" "payload\Microsoft.DataTools.IntegrationServices.vsix"

您必须将 VSIXBootstrapper 的位置与 vsix 组件的位置结合起来。就我而言,我在 C:\ProgramData\Package Cache160B731819F56D87A626F9A2777550340022D7\payload

下有 vsix 文件
  1. 将失败的组件 (.vsix),在本例中 Microsoft.DataTools.IntegrationServices.vsix 复制到某个文件夹,然后再将其删除。如果它已被删除,请重新启动安装程序并在父文件夹中搜索此组件。
  2. 重新启动计算机。在我这样做之前,我收到了“另一个安装 运行 ..”错误。
  3. 转到复制失败组件的文件夹并手动安装 .vsix。这次应该可以正常安装了。
  4. 重复步骤 1 但这次希望它能正常工作。

我希望这至少能让你朝着正确的方向前进。

我找到了解决方案,请按照以下步骤操作:

  1. 下载SQL服务器并安装。在功能选择步骤中安装集成服务

  1. 现在下载Visual Studio安装程序并安装.NET桌面开发数据存储和处理

  1. 现在 运行 Visual Studio 并转到扩展 > 管理扩展 > 在线,然后搜索 SQL 服务器集成服务项目。下载并安装

你现在可以开始了。