安装 vc_redist.x64.exe 时出现错误 "Failed to configure per-machine MSU package."
while installing vc_redist.x64.exe, getting error "Failed to configure per-machine MSU package."
当我尝试在 Windows 8.1 上安装 vc_redist.x64.exe 时
出现以下错误:
Failed to configure per-machine MSU package.
发布我自己的问题的答案,因为我在这里找到它并隐藏在底部的某个地方 -
这是因为 OS 未能安装所需的更新 Windows8.1-KB2999226-x64.msu.
但是,您可以通过将该更新提取到文件夹(例如 XXXX)来安装它,然后执行以下 cmdlet。您可以在下面找到 Windows8.1-KB2999226-x64.msu。
C:\ProgramData\Package Cache9A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu
将此文件复制到您喜欢的文件夹,然后
Create a folder XXXX in that and execute following commands from Admin command 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)
这对我有用。
OS 未能安装所需的更新 Windows8.1-KB2999226-x64.msu。
但是我试图从 -
中找到特定的更新
C:\ProgramData\Package Cache9A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu.
我在那里找不到它,所以我从 here 安装了 kb2999226 更新(Windows 10 通用 C 运行时)
然后我根据我的 OS 安装了更新,然后它工作正常。
我遇到了类似的问题,但在我的例子中,我试图在 Windows Server 2012 R2 上安装 Visual C++ Redistributable for Visual Studio 2015 Update 1。但是根本原因应该是一样的。
总之,你需要安装KB2999226的先决条件
更详细地说,我收到的安装日志表明 Windows 更新 KB2999226 安装失败。根据微软网站 here:
Prerequisites To install this update, you must have April 2014 update
rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
(2919355) installed in Windows 8.1 or Windows Server 2012 R2. Or,
install Service Pack 1 for Windows 7 or Windows Server 2008 R2.
Or, install Service Pack 2 for Windows Vista and for Windows Server
2008.
在我的 Windows Server 2012 R2 上安装 April 2014 后,我能够正确安装 Visual C++ Redistributable。
就我而言,在 Windows7 64x SP1 上安装 VS 2015 时,我遇到了同样的情况,因此尝试分别取消和 download/install KBKB2999226,由于某种原因,独立更新安装程序也卡住了搜索更新。
这是我所做的:
- 当 VS 安装程序卡在 KB2999226 更新时,我单击取消。
- Installer 带我回去确认取消,稍等片刻后打开windows任务管理器,结束了wuse.exe的进程(windows 独立更新安装程序)
- 在 VS 安装程序上单击 "No" 到 return 进行安装过程。该过程已完成且没有错误。
我想向您介绍一下 Universal CRT 的背景知识,这将有助于您理解为什么要在安装 vc_redist.x64.exe.
之前更新系统
- C 运行时的很大一部分在 Windows 10 (ucrtbase.dll) 中移入了 OS,并且像任何其他 OS DLL 一样提供服务(例如kernel32.dll)。 Visual Studio 不再直接提供服务。 MSU 包是 Windows 更新的文件类型。
- 为了使 Windows 10 通用 CRT 更早 OSes,Windows 创建了更新包以将此 OS 组件降级。 KB2999226 将 Windows 10 RTM Universal CRT 带到下层平台(Windows Vista 到 Windows 8.1)。 KB3118401 将通用 CRT 的 Windows 11 月 10 日更新带到下层平台。
- Windows XP(最新的 SP)在这里是个例外。 Windows Servicing 不为 OS 提供下层包,因此 Visual Studio (Visual C++) 提供了一种通过 VCRedist 和 MSM 将 UCRT 安装到 System32 的机制。
- Windows 通用运行时包含在 VC Redist exe 包中,因为它依赖于 Windows 通用运行时 (KB2999226)。
- Windows 10 是唯一 OS 随附的 UCRT。所有先前的 OSes 仅通过 Windows 更新获得 UCRT。这适用于所有 Vista->8.1 和关联的服务器 SKU。
对于 Windows 7、8 和 8.1,必须通过 KB2999226 安装 Windows 通用运行时。但是,它有先决条件更新 KB2919355,其中包含有助于安装 KB2999226 程序包的更新。
为什么从可再发行组件安装运行时时,KB2999226 并不总是安装?什么可以阻止 KB2999226 作为运行时的一部分安装?
VCRedist 中包含的 UCRT MSU 是通过调用 Windows 更新服务安装的,KB 可能无法根据 Windows 更新服务安装 activity/state:
- 如果机器没有更新到所需的服务基线,UCRT MSU 将被视为“不适用”。
确保已安装 KB2919355。此外,KB2919355 存在已知问题,因此在此之前应安装以下修补程序。
KB2939087
KB2975061
- 如果 Windows 更新服务在安装 VCRedist 时正在安装其他更新,您可能会看到较长的延迟或表明机器正忙的错误。
- 这个问题可以通过等待并稍后重试来解决(这可能就是为什么稍后通过 Windows 更新 UI 安装成功的原因)。
如果 Windows 更新服务处于未就绪状态,您会看到反映该情况的错误。
- 我们最近调查了一个错误代码表明 WUSA 服务正在关闭的故障。
要确定是否安装了先决条件 KB2919355,有 2 个选项:
注册表项:
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 或更高版本
我在 Windows 7 SP1 机器上尝试安装 Visual C++ 2015 Redistributable 时也遇到了这个错误。
安装 Visual C++ 2015-2019 Redistributable 解决了我的问题
当我尝试在 Windows 8.1 上安装 vc_redist.x64.exe 时 出现以下错误:
Failed to configure per-machine MSU package.
发布我自己的问题的答案,因为我在这里找到它并隐藏在底部的某个地方 -
这是因为 OS 未能安装所需的更新 Windows8.1-KB2999226-x64.msu.
但是,您可以通过将该更新提取到文件夹(例如 XXXX)来安装它,然后执行以下 cmdlet。您可以在下面找到 Windows8.1-KB2999226-x64.msu。
C:\ProgramData\Package Cache9A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu
将此文件复制到您喜欢的文件夹,然后
Create a folder XXXX in that and execute following commands from Admin command 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)
这对我有用。
OS 未能安装所需的更新 Windows8.1-KB2999226-x64.msu。 但是我试图从 -
中找到特定的更新C:\ProgramData\Package Cache9A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu.
我在那里找不到它,所以我从 here 安装了 kb2999226 更新(Windows 10 通用 C 运行时)
然后我根据我的 OS 安装了更新,然后它工作正常。
我遇到了类似的问题,但在我的例子中,我试图在 Windows Server 2012 R2 上安装 Visual C++ Redistributable for Visual Studio 2015 Update 1。但是根本原因应该是一样的。
总之,你需要安装KB2999226的先决条件
更详细地说,我收到的安装日志表明 Windows 更新 KB2999226 安装失败。根据微软网站 here:
Prerequisites To install this update, you must have April 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (2919355) installed in Windows 8.1 or Windows Server 2012 R2. Or, install Service Pack 1 for Windows 7 or Windows Server 2008 R2. Or, install Service Pack 2 for Windows Vista and for Windows Server 2008.
在我的 Windows Server 2012 R2 上安装 April 2014 后,我能够正确安装 Visual C++ Redistributable。
就我而言,在 Windows7 64x SP1 上安装 VS 2015 时,我遇到了同样的情况,因此尝试分别取消和 download/install KBKB2999226,由于某种原因,独立更新安装程序也卡住了搜索更新。
这是我所做的:
- 当 VS 安装程序卡在 KB2999226 更新时,我单击取消。
- Installer 带我回去确认取消,稍等片刻后打开windows任务管理器,结束了wuse.exe的进程(windows 独立更新安装程序)
- 在 VS 安装程序上单击 "No" 到 return 进行安装过程。该过程已完成且没有错误。
我想向您介绍一下 Universal CRT 的背景知识,这将有助于您理解为什么要在安装 vc_redist.x64.exe.
之前更新系统- C 运行时的很大一部分在 Windows 10 (ucrtbase.dll) 中移入了 OS,并且像任何其他 OS DLL 一样提供服务(例如kernel32.dll)。 Visual Studio 不再直接提供服务。 MSU 包是 Windows 更新的文件类型。
- 为了使 Windows 10 通用 CRT 更早 OSes,Windows 创建了更新包以将此 OS 组件降级。 KB2999226 将 Windows 10 RTM Universal CRT 带到下层平台(Windows Vista 到 Windows 8.1)。 KB3118401 将通用 CRT 的 Windows 11 月 10 日更新带到下层平台。
- Windows XP(最新的 SP)在这里是个例外。 Windows Servicing 不为 OS 提供下层包,因此 Visual Studio (Visual C++) 提供了一种通过 VCRedist 和 MSM 将 UCRT 安装到 System32 的机制。
- Windows 通用运行时包含在 VC Redist exe 包中,因为它依赖于 Windows 通用运行时 (KB2999226)。
- Windows 10 是唯一 OS 随附的 UCRT。所有先前的 OSes 仅通过 Windows 更新获得 UCRT。这适用于所有 Vista->8.1 和关联的服务器 SKU。
对于 Windows 7、8 和 8.1,必须通过 KB2999226 安装 Windows 通用运行时。但是,它有先决条件更新 KB2919355,其中包含有助于安装 KB2999226 程序包的更新。
为什么从可再发行组件安装运行时时,KB2999226 并不总是安装?什么可以阻止 KB2999226 作为运行时的一部分安装?
VCRedist 中包含的 UCRT MSU 是通过调用 Windows 更新服务安装的,KB 可能无法根据 Windows 更新服务安装 activity/state:
- 如果机器没有更新到所需的服务基线,UCRT MSU 将被视为“不适用”。 确保已安装 KB2919355。此外,KB2919355 存在已知问题,因此在此之前应安装以下修补程序。 KB2939087 KB2975061
- 如果 Windows 更新服务在安装 VCRedist 时正在安装其他更新,您可能会看到较长的延迟或表明机器正忙的错误。
- 这个问题可以通过等待并稍后重试来解决(这可能就是为什么稍后通过 Windows 更新 UI 安装成功的原因)。
如果 Windows 更新服务处于未就绪状态,您会看到反映该情况的错误。
- 我们最近调查了一个错误代码表明 WUSA 服务正在关闭的故障。
要确定是否安装了先决条件 KB2919355,有 2 个选项:
注册表项: 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 或更高版本
我在 Windows 7 SP1 机器上尝试安装 Visual C++ 2015 Redistributable 时也遇到了这个错误。
安装 Visual C++ 2015-2019 Redistributable 解决了我的问题