在Windows 2012 R2安装MSSQL 2017时遇vs shell错误码1638求助
解决Windows Server 2012 R2安装SQL Server 2017时的“VS Shell Installation Failed with Exit Code 1638”错误
这个错误我碰到过好多次了——本质原因是你的服务器上已经安装了一个和SQL Server 2017所需的Visual Studio Shell组件版本冲突的实例,Windows Server 2012 R2因为系统版本偏老,组件兼容问题尤为常见。下面是亲测有效的解决步骤:
步骤1:卸载冲突的Visual Studio Shell组件
- 打开控制面板 → 程序和功能
- 在程序列表里筛选所有包含
Microsoft Visual Studio Shell字样的条目,重点卸载版本早于2017的(比如2015版),确保这类组件全部清理干净 - 卸载完成后务必重启服务器,避免残留文件影响后续操作
步骤2:手动安装兼容的VS Shell组件
SQL Server 2017依赖的是**Microsoft Visual Studio 2017 Shell (Isolated)**组件,你可以通过两种可靠方式获取:
- 从SQL Server 2017安装介质中提取:找到安装包路径下的
\redist\VisualStudioShell文件夹,运行其中的vs_isoshell.exe,按照向导完成安装 - 若安装介质缺失,直接通过微软官方渠道下载对应版本的VS Shell独立安装包(注意选择和SQL 2017匹配的版本)
步骤3:重新启动SQL Server 2017安装
完成上述操作后,再次运行SQL Server 2017安装程序,选择你需要的安装类型(全新安装/添加功能),此时安装向导应该能顺利通过VS Shell组件的校验,不会再弹出1638错误。
额外注意事项
- 确保你的Windows Server 2012 R2已经安装了所有最新的系统更新,尤其是**.NET Framework 4.6.2及以上版本**(这是SQL Server 2017的硬性要求)
- 如果卸载组件时遇到卡顿或无法删除的情况,可以使用微软官方的「Program Install and Uninstall Troubleshooter」工具强制清理残留的程序条目
内容的提问来源于stack exchange,提问作者Hiren Parghi




