如何以编程方式自动卸载 Office 更新

本文由高级支持升级工程师 Eric Ashton 撰写。

本文介绍如何使用如下所示的命令行自动卸载 Office 更新:

%windir%\System32\msiexec.exe /package {Office GUID} /uninstall {Update GUID} /QN

确定已安装 Office 版本的 GUID

若要确定已安装 Office 版本的 GUID,请执行以下步骤:

  1. 找到并检查以下注册表项。

    对于 32 位 OS

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

    对于 64 位 OS

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

  2. 请参阅以下文章,根据你的情况在 Office 版本中查找 GUID:

    注意

    通过在 GUID 中列出的密钥的 DisplayName 字段中验证产品是否找到了正确的 GUID。

确定更新的 GUID

若要确定更新的 GUID,必须检查包含在更新 .exe 文件中的 MSP 文件的属性。

首先,必须从更新可执行文件中提取 MSP 文件。 为此,请运行以下命令,将文件提取到 c:\temp 目录:

<MSP file name> /extract:c:\temp

例如,若要从 Office 2013 更新 4462201 (mso2013-kb4462201-fullfile-x64-glb.exe) 中提取内容,请运行以下命令:

mso2013-kb4462201-fullfile-x64-glb.exe /extract:c:\temp

从更新可执行文件获取 MSP 时,必须查找更新的 GUID。 若要查找 GUID,请右键单击 MSP 文件,找到 “属性”,然后查找 “修订号”。

有时 修订号 部分中有许多数字。 将修订号列表复制并粘贴到记事本中,然后删除除第一个编号以外的所有编号。 修订号列表中的第一个数字是 GUID。

现在,你知道 Office 版本中的 GUID 和 Office 更新的 GUID。 可以运行以下命令以编程方式删除更新。

%windir%\System32\msiexec.exe /package {Office GUID} /uninstall {Update GUID} /qn

注意

使用 /qb 通过进度栏自动卸载,或使用 /qn 进行完全无提示的卸载。

常见问题解答

如果我们知道更新的 GUID,如何确定是否以编程方式安装更新?

一旦将更新 GUID 转换为压缩的 GUID,就可以执行此操作。 下面是有关如何将未压缩 GUID 转换为压缩 GUID 的步骤。

  1. 将未压缩的 GUID 分为五个部分,并删除短划线。 例如,不带短划线的未压缩 GUID 显示为 90110409 6000 11D3 8CFE 0150048383C9

  2. 反转前三节中每个编号的顺序。 在此示例中,前三个部分显示为 90401109 0006 3D11

  3. 在第四节和第五节中,必须每两个字符转置一次。 为此,请按照下列步骤操作:

    1. 将两个部分分解为每两个用空格分隔的字符。 数字显示为 8C FE 01 50 04 83 83 C9
    2. 转置每个部分。 数字显示为 C8 EF 10 05 40 38 38 9C
  4. 将所有数字放在一起并删除空格。 压缩的 GUID 将变为 9040110900063D11C8EF10054038389C

然后在以下注册表位置查询压缩的 GUID:

HKEY_CLASSES_ROOT\Installer\Patches

如果 GUID 存在,则表示已安装更新。

是否可以卸载本机不可卸载的更新?

尽管 Microsoft 不推荐也不支持它,但你可以卸载标记为不可卸载的更新。 同样,必须使用前面的方法将更新 GUID 转换为压缩的 GUID。

可以使用以下注册表项确定更新是否可卸载:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\Office GUID\Patches\Compressed GUID

Uninstallable”=dword:00000001

注意

如果更新本身不可卸载,则可以将此注册表位置的 “可卸载” 值更改为 1,然后即可卸载更新。

我们有一个更新,其中包含多个 MSP 文件。 这正常吗? 我们是否会全部卸载它们?

Office 更新通常包含多个 MSP 文件。 如果要完全删除更新,则必须卸载每个 MSP 文件。

Office 更新也经常应用于多个产品。 因此,它们在 卸载或更改程序中多次显示。 在这些情况下,若要完全删除更新,必须针对安装了更新的每个 Office 产品的 GUID 运行卸载命令。