安装Visua Studio2017过程中,安装已完成,但出现警告问题。如下图所示:
查看日志信息显示如下:
未能安装包“sqlncli,version=15.1.61810.11040,chip=x64,language=zh-CN”。
详细信息
MSI: D:\ProgramData\Microsoft\VisualStudio\Packages\sqlncli,version=15.1.61810.11040,chip=x64,language=zh-CN
\sqlncli.msi,属性: REBOOT=ReallySuppress MSIFASTINSTALL="7" IACCEPTSQLNCLILICENSETERMS="YES" ADDLOCAL="ALL"
SKIPPENDINGREBOOTCHECK="1"
返回代码: 1603
返回代码详细信息: 安装时发生严重错误
消息 ID: 1723
消息详细信息: 此 Windows Installer 包有问题。无法运行完成此安装所需的 DLL。请与技术支持人员或包供应商联系。
日志
C:\Users\asus\AppData\Local\Temp\dd_setup_20181116094728_326_sqlncli.log
工作负荷受到影响
.NET 桌面开发 (Microsoft.VisualStudio.Workload.ManagedDesktop,version=15.8.27906.1)
使用 C++ 的桌面开发 (Microsoft.VisualStudio.Workload.NativeDesktop,version=15.9.28307.102)
组件受到影响
C++ 的体系结构工具 (Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native,version=15.0.26208.0)
SQL Server Express 2016 LocalDB (Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime,version=15.7.27617.1)
SQL Server Native Client (Microsoft.VisualStudio.Component.SQL.NCLI,version=15.0.26208.0)
Visual C ++ 核心桌面功能 (Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core,version=15.8.27729.1)
代码图 (Microsoft.VisualStudio.Component.CodeMap,version=15.0.26208.0)
看问题描述是由于sqlncli组件包安装失败影响到其它组件的安装,于是单独下载此安装包sqlncli.msi进行安装,发现安装报错。报错信息如下图所示:
这个错误信息跟安装VS2017过程中报错的提示信息相一致,说明是因为sqlncli组件包安装失败导致的VS安装失败。
解决方法:
1、下载MSI编辑器软件:
2、查找到VS2017安装过程中下载的sqlncli.msi安装包文件,这个可以根据上述日志信息中的内容可以很容易的确定位置。
MSI: D:\ProgramData\Microsoft\VisualStudio\Packages\sqlncli,version=15.1.61810.11040,chip=x64,language=zh-CN
3、使用ORCA MSI Editor打开VS2017安装包中下载的sqlncli.msi文件,64位机器搜索 “SNAC_SetClientSSNLDefaults_64”,32位机器搜索”SNAC_SetClientSSNLDefaults_32”我注意到在对比SQL server 2010的时候,SQL 2010的”SNAC_SetClientSSNLDefaults_32”的值为($DP_sqlncli10_dll_32 = 3) 并且安装都是成功的。我们知道在system64 文件夹中SQL 2012的dll文件的名字是sqlncli11.dll,所以我们可以直接修改sqlncli.msi文件中的这个“SNAC_SetClientSSNLDefaults_64”的值。
将”SNAC_SetClientSSNLDefaults_64”的值改为($DP_sqlncli11_dll_32 = 3),保存并安装。
4、然后在继续安装VS2017后续其他的组件。即可以安装成功。
参考链接:
https://shubell.wordpress.com/2018/01/05/installing-microsoft-sql-server-2012-native-client/
未能安装包“sqlncli,version=15.1.61810.11040,chip=x64,language=zh-CN”。
详细信息
MSI: D:\ProgramData\Microsoft\VisualStudio\Packages\sqlncli,version=15.1.61810.11040,chip=x64,language=zh-CN
\sqlncli.msi,属性: REBOOT=ReallySuppress MSIFASTINSTALL="7" IACCEPTSQLNCLILICENSETERMS="YES" ADDLOCAL="ALL"
SKIPPENDINGREBOOTCHECK="1"
返回代码: 1603
返回代码详细信息: 安装时发生严重错误
消息 ID: 1723
消息详细信息: 此 Windows Installer 包有问题。无法运行完成此安装所需的 DLL。请与技术支持人员或包供应商联系。
日志
C:\Users\asus\AppData\Local\Temp\dd_setup_20181116094728_326_sqlncli.log
工作负荷受到影响
.NET 桌面开发 (Microsoft.VisualStudio.Workload.ManagedDesktop,version=15.8.27906.1)
使用 C++ 的桌面开发 (Microsoft.VisualStudio.Workload.NativeDesktop,version=15.9.28307.102)
组件受到影响
C++ 的体系结构工具 (Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native,version=15.0.26208.0)
SQL Server Express 2016 LocalDB (Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime,version=15.7.27617.1)
SQL Server Native Client (Microsoft.VisualStudio.Component.SQL.NCLI,version=15.0.26208.0)
Visual C ++ 核心桌面功能 (Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core,version=15.8.27729.1)
代码图 (Microsoft.VisualStudio.Component.CodeMap,version=15.0.26208.0)