Keywords: Windows 8.1 | vc_redist.x64.exe | Universal CRT | KB2999226 | System Update
Abstract: This article provides a comprehensive analysis of the "Failed to configure per-machine MSU package" error encountered during the installation of Visual C++ 2010 Redistributable Package (vc_redist.x64.exe) on Windows 8.1 systems. By examining the evolution of Universal CRT (C Runtime) in Windows operating systems and its dependencies, the core cause is identified as the absence of the essential Windows update KB2999226. Detailed solutions are presented, including step-by-step instructions for manually extracting and installing the MSU update package, along with technical background explanations to help readers fundamentally understand and resolve the issue.
Problem Background and Technical Analysis
When deploying or running applications that depend on the Microsoft Visual C++ 2010 runtime on Windows 8.1 operating systems, technical personnel frequently encounter installation failures of vc_redist.x64.exe, typically with the error message "Failed to configure per-machine MSU package." This error not only affects development environment configuration but may also hinder normal application deployment in production environments.
Root Cause: Architectural Evolution of Universal CRT
To deeply understand this error, one must first comprehend the architectural changes in Microsoft's C runtime libraries. Prior to Windows 10, the C runtime was primarily distributed and maintained as part of Visual Studio. However, starting with Windows 10, Microsoft integrated most C runtime functionality into the operating system, forming what is known as the Universal CRT (Universal C Runtime), which is now maintained and updated as a core OS component, similar to system DLLs like kernel32.dll.
For Windows 8.1 and earlier operating systems, to obtain the same Universal CRT functionality as Windows 10, Microsoft provides backward compatibility through Windows update packages. Specifically, the KB2999226 update package is responsible for bringing the Windows 10 RTM version of Universal CRT to Windows 8.1 systems. The vc_redist.x64.exe installer detects the absence of this critical update during execution and therefore cannot complete the configuration process, resulting in the "Failed to configure per-machine MSU package" error.
Solution: Manual Installation of KB2999226 Update
When automatic installation fails, a manual approach can be employed to install the required Windows update. The following steps detail how to locate, extract, and install the KB2999226 update package:
- Locate the Update File: First, find the update file that has been downloaded but not successfully installed on the system. This file is typically located at:
C:\ProgramData\Package Cache\469A82B09E217DDCF849181A586DF1C97C0C5C85\packages\Patch\amd64\Windows8.1-KB2999226-x64.msu - Create Extraction Directory: Copy the MSU file to a convenient location, such as D:\Update, and create a subfolder within it to store the extracted files:
mkdir D:\Update\Extracted - Extract MSU Package Contents: Open Command Prompt as Administrator and execute the following command to extract the CAB file from the MSU package:
wusa.exe D:\Update\Windows8.1-KB2999226-x64.msu /extract:D:\Update\Extracted - Install the Update Package: Use the DISM tool to install the extracted CAB file:
DISM.exe /Online /Add-Package /PackagePath:D:\Update\Extracted\Windows8.1-KB2999226-x64.cab - Reinstall VC Runtime Library: After completing the system update, rerun the vc_redist.x64.exe installer:
vc_redist.x64.exe
Technical Details and Considerations
In practical operations, several technical details require special attention:
Update Dependencies: The KB2999226 update itself may depend on other system updates. Particularly, the KB2919355 update contains essential components that enable the system to correctly install subsequent updates. If the system has not yet installed KB2919355, it may be necessary to install this foundational update first, and potentially even related hotfixes such as KB2939087 and KB2975061.
System Status Verification: The installation status of necessary updates can be verified by checking the registry or system file versions. For 64-bit systems, examine the registry key:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14
A CurrentState value of 112 indicates successful installation. Alternatively, check system file versions:
C:\Windows\System32\wuaueng.dll and C:\Windows\SysWOW64\wuaueng.dll
The version number should be 7.9.9600.17031 or higher.
Windows Update Service Status: Installation failures sometimes occur because the Windows Update service is busy or in an abnormal state. In such cases, retry when the system is idle, or restart the Windows Update service via the Services Manager.
Preventive Measures and Best Practices
To avoid similar issues, the following preventive measures are recommended:
- Before deploying applications that depend on specific VC runtime libraries, ensure all necessary Windows updates are installed on the target system
- For enterprise environments, use management tools like WSUS or SCCM to uniformly deploy system updates and runtime libraries
- Integrate necessary runtime detection and installation logic within application installation packages to provide a better user experience
- Regularly check Microsoft official documentation to stay informed about the latest changes in runtime library dependencies
By understanding the architectural evolution of Universal CRT and mastering manual installation methods for system updates, technical personnel can effectively resolve the "Failed to configure per-machine MSU package" error, ensuring smooth operation of applications across various Windows environments.