Installing updates via Windows Update can be problematic sometimes. For example, downloads may stall at a specific stage due to problems with the Windows Update server or the Content Delivery Network (CDN) that hosts the update in your region. It could also be possible that the Windows Update or BITS Services configuration on the local computer is at fault.
In either case, you can download the update offline via the Microsoft Update Catalog and install it. The Microsoft Update Catalog provides updates, including drivers, for distribution across a network. Windows Update packages downloaded from the Microsoft Update Catalog can also be used on standalone systems.
How to Install CAB and MSU Updates
Windows Update packages can come in two formats. One is the “Windows Update Standalone Package” format (.msu extension), and the other is the Cabinet file (.cab) format.
Windows Update Standalone Installer (.msu file) is a container that encloses the following items:
- Windows Update metadata: Describes each update package that the .msu file contains.
- One or more .cab files: Each .cab file represents one update.
- An .xml file: This .xml file describes the .msu update package. Wusa.exe uses the .xml file when you perform an unattended installation of the update by using the Package Manager tool (Pkgmgr.exe).
- A properties file: This file contains string properties that Wusa.exe uses. For example, this file contains the title of the associated article in the Microsoft Knowledge Base, KB Article Number, Language, Package Type (e.g., Security Update), and Architecture information.
You can view the contents of a .msu file by extracting it manually or using the 7-Zip utility.
Installing an .MSU Update Package
To install an MSU file, all you need to do is double-click the file. When you run a .msu file, the Windows Update Standalone Installer (wusa.exe) extracts the package contents to a folder. It then reads the Windows Update metadata to search for available updates for your computer.
If WUSA determines the update applies to your system, it launches the installation process using Windows Update Agent API.
For silent installation, you can use the following command-line syntax:
wusa.exe "Filename.MSU" /quiet /norestart
(For more information, refer to the Microsoft KB article Description of the Windows Update Standalone Installer in Windows.)
If your system has a more recent update already installed, or the update you’re trying to apply is for a different processor architecture (x86 vs. x64). WUSA would stall the installation process by throwing the error message “The update is not applicable to your computer.” It also tells you if the package is already installed.
Extracting files from a .MSU package
If you need to extract the .msu package using the native command-line (instead of 7-Zip), use the following syntax:
expand -f:* "D:\Updates\windows10.0-kb4598481-x64.msu" D:\Updates\kb4598481
The cab file
Windows10.0-KB4598481-x64.cab can be installed manually using the DISM command, which is explained in the next paragraph. Using DISM to install a .cab update is quicker than running the .msu file. However, the wusa.exe method (using .msu) does some safety checks before installing the update.
Cabinet Files (.CAB) are compressed archives that contain system files or drivers. Occasionally Windows Update packages come in CAB format, which doesn’t have an installation engine, XML file, or metadata file. For example, the update package for Cumulative Update for Windows 10 KB3194496 came in .cab format instead of the usual .msu format.
FYI, some Windows Updates can come in both formats (.cab and .msu), as in the case of KB3197954.
Installing .CAB Updates (non-drivers)
To apply the CAB update, you need to use DISM, which is short for Deployment Image Servicing and Management Tool.
Open an elevated or Admin Command Prompt window, and type:
dism /online /add-package /packagepath:"cab_package_path"
dism /online /add-package /packagepath:"D:\Updates\kb4598481\Windows10.0-KB4598481-x64.cab"
Press Enter. That applies the KB4598481 update.
As you can see, the update KB4598481 (already installed on the computer) was reapplied using DISM. DISM reapplied it without checking the current patch level. Whereas, when you ran the .msu file, wusa.exe stopped the installation process as the update had been installed already.
To know if an update is installed already, there are several methods. Here is one easy way to find it:
wmic qfe list | findstr /i "kb4598481"
Add the Install option to the right-click menu for .CAB Files
You can also add the “Install” command in the right-click menu for CAB files so that you don’t have to run the DISM command manually.
Copy the following lines to Notepad, and save the file with the .reg extension. Then double-click the file to apply the contents to the registry.
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs] [HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs] @="Install" "HasLUAShield"="" [HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs\Command] @="cmd /k dism /online /add-package /packagepath:"%1""
This adds the “Install” command to the right-click menu for .CAB files.
Installing .CAB driver package
If you use the DISM tool to install the cab driver package, you may receive the following error:
An error occurred trying to open - filename.cab Error: 0x80070002 Error: 2 The system cannot find the file specified. The DISM log file can be found at C:\WINDOWS\Logs\DISM\dism.log
If the .cab file contains drivers, you need to extract the contents of the cab archive to a folder. You can use the
expand.exe command-line or a third-party archiver like 7-Zip to extract cab file contents. To extract using the expand command, use this command-line syntax:
expand cab_file -F:* destination_path
expand "D:\drivers\200043875_a5fc6b6f03141541889a015827d9db2409a9945b.cab" -F:* D:\Drivers\Realtek
Then, open Device Manager. Right-click on the device for which you want to update the driver, and click Update driver.
Select Browse my computer for driver software, mention the location where you’ve extracted the Realtek drivers, and update it.