如何在Windows 10中手动安装CAB和MSU更新

时间:2020-01-09 10:46:49  来源:igfitidea点击:

Windows更新以扩展名为MSU或者CAB的软件包的形式发布。如果Windows Update服务不起作用(或者被专门禁用),则可以为系统手动下载并安装必要的累积更新或者安全更新。本文很好地展示了如何在Windows 10中以MSU或者CAB文件格式下载和脱机安装更新。

如何手动下载MSU Windows更新文件

最初,Microsoft以" CAB"(Windows橱柜)文件格式发布了安全更新和补丁。这是计算机从Microsoft更新服务器或者本地WSUS服务器接收更新的方式。为了使使用Microsoft Update目录手动分发单独的更新更加方便,这些CAB文件以特殊的" MSU"格式(Microsoft Update独立安装程序包)打包在一起。

我们可以从Microsoft更新目录(https://www.catalog.update.microsoft.com/)下载MSU Windows更新文件(有时也包括CAB文件)或者其他Microsoft产品的文件。转到Microsoft更新目录,找到并下载所需的更新。例如,我要为Windows 10 x64 1507KB4056887安装Adobe Flash Player安全更新。单击下载。

将已下载的文件windows10.0-kb4056887-x64_fca8a311f0495e669715ae5aa0e0d8720f945049.msu移至C:\temp文件夹。重命名它,得到一个简短的名字:windows10.0-kb4056887-x64.msu

在Windows中安装MSU更新文件

要开始安装Windows更新软件包,只需双击我们下载的MSU文件。如果更新适用于此计算机,则将打开Windows Update独立安装程序窗口,提示我们确认更新安装。

我们也可以在命令提示符下使用" wusa.exe"安装MSU更新软件包。

要以静默方式安装更新(用户不会看到任何弹出窗口)并在以后重新启动,请以管理员身份打开命令提示符并运行以下命令:

wusa.exe c:\Temp\windows10.0-kb4056887-x64.msu /quiet /norestart

提示。使用wusa,我们也可以根据需要删除更新。

在一段时间内,请通过运行以下命令来确保已成功安装更新:

wmic qfe list | findstr 4056887

或者在安装事件日志中,从源WUSA中找到事件ID为2的条目,并显示以下消息:

Windows update “Security Update for Windows (KB4056887)” was successfully installed. (Command line: “wusa.exe c:\Temp\windows10.0-kb4056887-x64.msu /quiet /norestart”)

请注意,通过wusa.exe在Windows中以" MSU"格式安装更新比在安装与" CAB"文件相同的更新时要慢。原因是在WU/WSUS服务器上执行了扫描处理后的添加处理。请参阅慢速MSU更新安装一文。

如何从MSU更新包中提取CAB文件

在某些情况下,当wusa使用的Windows Update无法正常工作(首先尝试重置Windows Update代理设置)时,我们将无法以MSU格式安装更新。在这种情况下,我们可以手动打开MSU软件包的包装,从中提取一个CAB文件,然后手动将其安装在系统中。

要将MSU软件包解压缩到C:\Temp\kb4056887(我们必须提前创建此文件夹),请运行以下命令:

expand _f:* “C:\Temp\windows10.0-kb4056887-x64.msu” C:\Temp\kb4056887
Microsoft(R)文件扩展实用程序版本10.0.10011.16384版权所有(c)Microsoft Corporation。版权所有。将C:\Tmp\kb4056887\WSUSSCAN.cab添加到提取队列中将C:\Tmp\kb4056887\Windows10.0-KB4056887-x64.cab添加到提取队列中将C:\Tmp\kb4056887\Windows10.0-KB4056887-x64- pkgProperties.txt到提取队列将C:\Tmp\kb4056887\Windows10.0-KB4056887-x64.xml添加到提取队列扩展文件。扩展文件共完成4个文件。

如我们所见,文件夹中出现了4种文件类型:

  • 包含MSU软件包元数据并由wusa.exe使用的.xml文件(Windows10.0-KB4056887-x64.xml);
  • .cab文件(一个或者多个Windows10.0-KB4056887-x64.cab)是Windows更新的存档;
  • \ pkgProperties.txt文件(Windows10.0-KB4056887-x64-pkgProperties.txt),其中包含软件包属性(发行日期,体系结构,软件包类型,KB的链接等)。

在Windows 10中安装CAB更新文件

我们可以通过两种方式安装从MSU软件包获得的CAB更新文件。

从CAB文件安装更新的最常见方法是使用" DISM.exe"。安装命令如下所示:

DISM.exe /Online /Add-Package /PackagePath:c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab
Deployment Image Servicing and Management tool  Version: 10.0.10240.16384  Image Version: 10.0.10240.16384  Processing 1 of 1  Adding package Package_for_KB4056887~31bf3856ad364e35~amd64~~10.0.1.0  [==========================100.0%==========================]  The operation completed successfully.

注意请注意,与使用wusa.exe从MSU文件安装更新相比,使用DISM安装软件包的速度更快。

如果必须在静默模式下安装CAB软件包并在以后重新启动,请使用以下DISM命令:

start /wait DISM.exe /Online /Add-Package /PackagePath: c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab /Quiet /NoRestart

在Windows 8和Windows 7中,可以使用Pkgmgr安装更新。该命令是:

start /w Pkgmgr /ip /m:c:"c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab"

注意:Windows 10/Windows Server 2015不再支持PkgMgr.exe程序包管理器。运行它时,会收到警告,提示我们需要使用DISM.exe来管理程序包。

注:以下为PkgMgr.exe文件已被弃用。请更新脚本以使用dism.exe文件提取、安装、卸载、配置和更新Windows的功能和软件包。
Note: The PkgMgr.exe has been deprecated. Please update your scripts to use dism.exe to extract, install, uninstall, configure and update features and packages for Windows.

请注意,Windows语言包(MUI)也以CAB格式分发。但是,我们将无法使用DISM命令来安装它们。我们将必须使用单独的工具lpksetup.exe来在系统中安装新语言。

本手册有关手动安装累积更新或者任何其他Windows更新的指南适用于所有受支持的Windows OS版本:Windows 10/8.1/7和Windows Server 2015/2012/R2/2008/R2.