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

时间:2015-07-21 10:31:54

标签: windows-8.1 visual-c++-2010 redistributable

我正在尝试在Windows 8.1上安装vc_redist.x64.exe 得到以下错误:

  

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

4 个答案:

答案 0 :(得分:44)

我在自己的问题上发布了答案,因为我在这里找到了它并隐藏在某个地方 -

  

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-server-2012?forum=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 / repair

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

这对我有用。

答案 1 :(得分:15)

我想向您介绍一下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。
  5. 对于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
        

        32位配置单元

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

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

        是7.9.9600.17031或更高版本

答案 2 :(得分:3)

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

简而言之,您需要安装KB2999226的先决条件。

更详细地说,我得到的安装日志表明Windows Update KB2999226的安装失败。根据微软网站here

  

先决条件要安装此更新,您必须在Windows 8.1或Windows Server 2012 R2中安装April 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (2919355)。要么,   install Service Pack 1 for Windows 7 or Windows Server 2008 R2。   或者,install Service Pack 2 for Windows Vista and for Windows Server 2008

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

答案 3 :(得分:0)

在我的情况下,在Windows7 64x SP1上安装VS 2015时,我遇到了同样的问题,因此尝试单独取消并下载/安装KBKB2999226,由于某些原因,独立更新安装程序也无法搜索更新。

enter image description here

我在这做了什么:

  1. 当VS安装程序停留在KB2999226更新时,我点击了取消。
  2. 安装程序带我回去确认取消,等了一会儿然后打开了Windows任务管理器并结束了 wuse.exe的过程(windows独立更新安装程序)
  3. 在VS安装程序上单击"否"返回安装过程。该过程完成且没有错误。