安装vc_redist.x64.exe时出现错误"无法配置每台计算机的MSU程序包".

Som*_*bey 18 redistributable visual-c++-2010 windows-8.1

当我尝试在Windows 8.1上安装vc_redist.x64.exe时出现以下错误:

无法配置每台计算机的MSU程序包.

Som*_*bey 48

当我在这里发现它并且隐藏在某个地方的底部时,发布我自己的问题的答案 -

https://social.msdn.microsoft.com/Forums/vstudio/en-US/64baed8c-b00c-40d5-b19a-99b26a11516e/visual-c-redistributable-for-visual-studio-2015-rc-fails-on- Windows的服务器,2012?论坛= vssetup

这是因为操作系统无法安装所需的更新Windows8.1-KB2999226-x64.msu.

但是,您可以通过将更新提取到文件夹(例如XXXX)来安装它,然后执行以下cmdlet.您可以在下面找到Windows8.1-KB2999226-x64.msu.

C:\ ProgramData\Package Cache\469A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu

将此文件复制到您喜欢的文件夹,和

在其中创建一个文件夹XXXX,并从Admin命令propmt执行以下命令

wusa.exe Windows8.1-KB2999226-x64.msu/extract:XXXX

DISM.exe/Online/Add-Package /PackagePath:XXXX\Windows8.1-KB2999226-x64.cab

vc_redist.x64.exe /修复

(不需要运行最后一个命令.只需再次执行vc_redist.x64.exe)

这对我有用.

  • 谢谢.这对我有用.但.msu的路径却不同.我在安装刚刚发布的VS 2015时遇到了这个问题.如果还这样做,请等到它失败,然后转到安装日志并找到包的实际位置.对于我的环境,它是"C:\ ProgramData\Package Cache\FC6260C33678BB17FB8B88536C476B4015B7C5E9\packages\Patch\x64\Windows8.1-KB2999226-x64.msu". (2认同)
  • 如果您收到错误87"add-package选项未知,"原因可能是"Windows Modules Installer"服务未运行. (2认同)

小智 16

我想向您介绍一下Universal CRT的背景知识,这将有助于您了解在安装vc_redist.x64.exe之前系统应该更新的原因.

  1. 大部分C运行时移动到Windows 10中的操作系统(ucrtbase.dll),并且像任何其他操作系统DLL(例如kernel32.dll)一样进行维护.它不再由Visual Studio直接提供服务.MSU包是Windows更新的文件类型.
  2. 为了将Windows 10 Universal CRT引入早期的操作系统,创建了Windows Update软件包以使该操作系统组件处于低级别.KB2999226将Windows 10 RTM Universal CRT带入了下层平台(Windows Vista到Windows 8.1).KB3118401将Windows 10 11月更新引入通用CRT到低级平台.
    • Windows XP(最新的SP)是一个例外.Windows服务不提供该操作系统的下层软件包,因此Visual Studio(Visual C++)提供了一种通过VCRedist和MSM将UCRT安装到System32的机制.
  3. Windows Universal Runtime包含在VC Redist exe软件包中,因为它依赖于Windows Universal Runtime(KB2999226).
  4. Windows 10是唯一提供UCRT收件箱的操作系统.所有以前的操作系统仅通过Windows Update获取UCRT.这适用于所有Vista-> 8.1及相关的服务器SKU.

对于Windows 7,8和8.1,必须通过KB2999226安装Windows Universal Runtime.但是,它具有必备更新KB2919355,其中包含有助于安装KB2999226程序包的更新.

为什么在从可再发行组件安装运行时时,KB2999226并不总是安装?什么可以阻止KB2999226作为运行时的一部分安装?

VCRedist中包含的UCRT MSU是通过调用Windows Update服务来安装的,并且KB可能无法根据Windows Update服务活动/状态进行安装:

  1. 如果机器未更新到所需的服务基准,则UCRT MSU将被视为"不适用".确保已安装KB2919355.此外,KB2919355存在已知问题,因此在此之前应安装以下修补程序.KB2939087 KB2975061
  2. 如果在安装VCRedist时Windows Update服务正在安装其他更新,您可以看到长延迟或错误,指示计算机正忙.
    • 这个可以通过等待并稍后再次尝试来解决(这可能是为什么稍后通过Windows Update UI安装成功的原因).
  3. 如果Windows Update服务处于非就绪状态,您可以看到反映该错误的错误.

    • 我们最近调查了一个失败的错误代码,表明WUSA服务正在关闭.
  4. 要确定是否安装了先决条件KB2919355,有两个选项:

    1. 注册表项:64位配置单元

      HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14
      CurrentState = 112
      
      Run Code Online (Sandbox Code Playgroud)

      32位蜂巢

      HKLM\SOFTWARE\[WOW6432Node\]Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~x86~~6.3.1.14
      CurrentState = 112
      
      Run Code Online (Sandbox Code Playgroud)
    2. 或者检查文件版本:

      C:\Windows\SysWOW64\wuaueng.dll
      C:\Windows\System32\wuaueng.dll
      
      Run Code Online (Sandbox Code Playgroud)

      是7.9.9600.17031或更高版本


VCD*_*VCD 5

我遇到了类似的问题,但就我而言,我试图在 Windows Server 2012 R2 上为 Visual Studio 2015 Update 1 安装 Visual C++ Redistributable。但是根本原因应该是一样的。

总之,需要安装KB2999226的先决条件。

更详细地说,我得到的安装日志指出 Windows Update KB2999226 的安装失败。根据此处的 Microsoft 网站:

先决条件 要安装此更新,您必须在 Windows 8.1 或 Windows Server 2012 R2 中安装了适用于 Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2 (2919355) 的 2014 年 4 月更新汇总。或者, 为 Windows 7 或 Windows Server 2008 R2 安装 Service Pack 1。或者,为 Windows Vista 和 Windows Server 2008 安装 Service Pack 2

在我的 Windows Server 2012 R2 上安装 2014 年 4 月之后,我能够正确安装 Visual C++ Redistributable。