在没有激活 Windows 更新服务的情况下安装 Windows 更新文件 (*.msu)

Ral*_*alf 3 windows installation windows-installer

我想在嵌入式 Windows 7 上运行的设备上安装特定的 Windows 更新文件 (.msu)。msu 文件可用并且自动安装正在运行正确的命令,但我有一个问题:

在设备上,Windows 更新服务被禁用。这是设备映像的要求,不应激活此服务(即使在安装时也不应激活)。如果我尝试在没有此服务的情况下安装 msu 文件,则会出现错误“无法启动该服务,因为它已被禁用或...”。

我的问题是:有没有人知道在没有启用 Windows 更新服务的情况下安装 msu 文件的可能性?

Mar*_* Ba 5

来自评论:

如果使用正确的命令,则可以使用 DISM.exe。此外,重要的是不能使用 DISM.exe/Online模式安装 MSU 文件

您必须解压缩 msu 文件,然后可以使用 DISM.exe 安装生成的 *.cab 文件,而无需启用 Windows 更新服务。请参阅如何使用 DISM 从 Windows 中安装修补程序

我将在这里引用博客文章:

本博客旨在为您提供使用部署映像服务和管理 (DISM) 命令在当前运行的操作系统上安装修补程序(或任何其他“包”)的步骤。

...

安装包的命令行开关是“/Add-Package”。...文件名为“Windows6.1-KB976571-v2-x64.msu”。...您会假设以下语法有效:

DISM.exe /Online /Add-Package /PackagePath:c:\kb976571\Windows6.1-KB976571-v2-x64.msu
Run Code Online (Sandbox Code Playgroud)

如果您查看文件 c:\windows\logs\dism\dism.log,您将看到以下代码段:

...

2010-09-02 20:33:58,错误 DISM DISM 包管理器:PID=7116 DISM 不支持在线安装 MSU 文件。– CMsuPackage::Install(hr:0x80070032)

...

答案可以在定义什么是 Microsoft 更新独立包 (MSU) 文件以及如何在以前的命令行工具包管理器 (Pkgmgr.exe) 中执行此操作中找到。

您必须提取 MSU 文件的内容并使用包的 .CAB 文件才能使用包管理器工具 ( http://support.microsoft.com/default.aspx?scid=kb;)进行安装或卸载。 EN-US;940410)。

所以试试这个方法:

...

  1. 使用以下命令提取 MSU 文件的内容:

    Expand –F:* c:\kb976571\Windows6.1-KB976571-v2-x64.msu c:\temp\976571
    
    Run Code Online (Sandbox Code Playgroud)

...多个文件,其中包括 Windows6.1-KB976571-v2-x64.cab 文件。

现在尝试以下命令:

...

DISM.exe /Online /Add-Package /PackagePath:c:\temp\976571\Windows6.1-KB976571-v2-x64.cab
Run Code Online (Sandbox Code Playgroud)

... (或者) ...

start /wait DISM.exe /Online /Add-Package /PackagePath:c:\temp\976571\Windows6.1-KB976571-v2-x64.cab /Quiet /NoRestart
Run Code Online (Sandbox Code Playgroud)