Visual Express 安装在 KB2999226 更新时中止

Visual Express 安装在 KB2999226 更新时中止

我的电脑上安装了 Windows 8.1。我尝试在其上安装 Visual Express 2015,但当尝试安装KB2999226更新时安装被中止。

然后我尝试手动安装该更新。但它说该更新不适用于我的电脑。

这是为什么?该KB2999226更新是否需要事先安装任何其他更新?

答案1

KB2999226 更新是否需要事先安装任何其他更新?

先决条件

要安装此更新,您必须拥有2014 年 4 月 Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2 更新汇总 (2919355) 安装在 Windows 8.1 或 Windows Server 2012 R2 中。或者,安装 Windows 7 或 Windows Server 2008 R2 的 Service Pack 1。或者,安装Windows Vista 和 Windows Server 2008 的 Service Pack 2

来源KB2999226 - Windows 中的通用 C 运行时更新

答案2

我想向您介绍通用 CRT 的背景,这将有助于您理解为什么要在安装之前更新系统vc_redist.x64.exe

C 运行时的很大一部分已移至 Windows 10 中的操作系统(ucrtbase.dll),并像任何其他操作系统 DLL(例如kernel32.dll)一样提供服务。它不再由 Visual Studio 直接提供服务。MSU 包是 Windows 更新的文件类型。

为了让早期操作系统能够使用 Windows 10 通用 CRT,创建了 Windows 更新包以将此操作系统组件降至低级。KB2999226将 Windows 10 RTM 通用 CRT 降至低级平台(Windows Vista 至 Windows 8.1)。KB3118401将 Windows 10 十一月更新的通用 CRT 降至低级平台。

System32Windows XP(最新 SP)是个例外。Windows Servicing 不为该操作系统提供下级包,因此 Visual Studio(Visual C++)提供了一种通过 VCRedist 和 MSM安装 UCRT 的机制。


  1. Windows 通用运行时包含在 VC Redist exe 包中,因为它依赖于 Windows 通用运行时(KB2999226)。

    Windows 10 是唯一随附 UCRT 的操作系统。所有之前的操作系统仅通过 Windows 更新获取 UCRT。这适用于所有 Vista → 8.1 和相关的服务器 SKU。

    对于 Windows 7、8 和 8.1,必须通过 安装 Windows Universal Runtime KB2999226。但是,它有一个先决条件更新KB2919355,其中包含有助于安装KB2999226包的更新。


  1. 为什么从可再发行组件安装运行时时 KB2999226 并不总是安装?什么原因会阻止其KB2999226作为运行时的一部分进行安装?

    VCRedist 中包含的 UCRT MSU 是通过调用 Windows 更新服务来安装的,并且根据 Windows 更新服务的活动/状态,KB 可能会安装失败:

    • 如果机器尚未更新到所需的维修基准,则 UCRT MSU 将被视为“不适用”。

      确保KB2919355已安装。此外,存在已知问题,KB2919355 因此在此之前应安装以下修补程序:KB2939087KB2975061

    • 如果在 VCRedist 安装时 Windows Update 服务正在安装其他更新,您可能会看到长时间的延迟或错误,表明机器正忙。

      可以通过等待并稍后重试来解决此问题(这可能是稍后通过 Windows 更新 UI 安装成功的原因)。

    • 如果 Windows 更新服务处于未就绪状态,您会看到反映该情况的错误。

      我们最近调查了一个故障,错误代码表明 WUSA 服务正在关闭。


  1. 要确定是否安装了先决条件,KB2919355有两个选项:

    注册表项:

    64 位配置单元

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14
    CurrentState = 112
    

    32位蜂巢

    HKLM\SOFTWARE\[WOW6432Node\]Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~x86~~6.3.1.14
    CurrentState = 112
    

    或者检查文件版本:

    C:\Windows\SysWOW64\wuaueng.dll
    C:\Windows\System32\wuaueng.dll
    

    7.9.9600.17031 或更高版本。

相关内容