Visua Studio:安装已完成,但出现警告,sqlncli安装报错

时间:2024-05-21 07:08:34

安装Visua Studio2017过程中,安装已完成,但出现警告问题。如下图所示:

Visua Studio2017:安装已完成,但出现警告,sqlncli安装报错

查看日志信息显示如下:

未能安装包“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进行安装,发现安装报错。报错信息如下图所示:

Visua Studio2017:安装已完成,但出现警告,sqlncli安装报错

这个错误信息跟安装VS2017过程中报错的提示信息相一致,说明是因为sqlncli组件包安装失败导致的VS安装失败。

解决方法:

1、下载MSI编辑器软件:

ORCA MSI Editor

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”的值。

Visua Studio2017:安装已完成,但出现警告,sqlncli安装报错

 将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)