文章编号: 971187 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

安装软件更新后,修复或卸载的某些产品可能会失败。如果必须启用的 MSI 日志记录,请在日志中找到以下行:

找不到本地的修补程序。在寻找其在相应的源。

MainEngineThread 返回 1612
注意如果您的 MSI 日志记录已禁用,请访问下面的 Microsoft 网站,以使 Windows 安装程序日志记录:
223300 如何启用 Windows 安装程序日志记录

此外,当您查看在注册表中,您可能会发现以下注册表子项中缺少的软件更新缓存注册:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<SQUID>


解决方案

诊断和自动修复问题

诊断和修复程序安装和自动卸载问题的疑难解答可能会自动修复本文中所描述的问题。
此故障诊断程序解决了许多问题。了解更多立即运行

我自己修复


重要提示此部分、方法或任务包含告诉您如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重问题。因此,请确保仔细按这些步骤操作。为增加保护,先备份注册表再对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows XP 中备份和还原注册表
若要解决此问题,请按照下列步骤操作:
  1. 确认产品会受到影响。若要执行此操作,请执行以下步骤:
    1. 通过打开以下注册表子项来查找软件更新注册的产品:

      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches


      在该子项中,有一个用于每个已应用到产品中的软件更新的子项。
    2. 以下面的格式为每个子项,请执行以下步骤:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

      • 验证存在以下注册表子项:

        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>


        如果缺少该子项,该产品将受到影响。继续执行步骤 2。

        如果存在该子项,验证 LocalPackage 字符串值设置正确,并且还存在包所引用的 LocalPackage 字符串值。
        1. 如果 LocalPackage 字符串值或引用的包丢失时,该产品将受到影响。继续执行步骤 2。
        2. 如果引用的程序包是否存在,并不需要任何附加操作。
  2. 重新创建软件更新缓存注册表详细信息。若要执行此操作,请执行以下步骤:

    1. 搜索您尝试安装该软件更新的%windir%\installer\*.msp 。验证软件更新具有正确的修补程序 GUID 摘要信息流和目标在正确的产品的 Guid。
      注意由于此目录用作每个用户安装以及每台计算机安装的高速缓存,您可以通过使用每个用户安装模拟此目录中的软件更新。
    2. 创建以下注册表子项:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>


      注意它是重新创建软件更新缓存注册表会带来安全风险。但是,这是修复被损坏的唯一办法。通过确保软件更新为正确的软件更新,可以减少安全风险。若要执行此操作,请验证软件更新的校验和。
    3. 在该注册表子项中创建的 LocalPackage 字符串值创建第 2 步,b.请确保 LocalPackage 字符串值设置为该软件更新的路径。


  3. 删除剩余的软件更新引用。若要执行此操作,请执行以下步骤:
    1. 打开下面的子项,然后删除<PatchSQUID>从"AllPatches"多 sz 值:<b00> </b00> </PatchSQUID>
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
    2. 删除以下注册表子项:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>
    3. 删除以下注册表子项:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>


      注意如果缺少该子项,请跳过此步骤。
    4. 如果产品安装每台计算机,请按照下列步骤操作:
      1. 打开以下注册表子项:
        HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches
        1. 如果<PatchSQUID>字符串值已存在,请删除它。</PatchSQUID>
        2. 如果<PatchSQUID>字符串值中是否有"修补程序"的多 sz 值,请删除<PatchSQUID>的字符串值。<b00> </b00> </PatchSQUID> </PatchSQUID>
      2. 如果下面的注册表子项不存在,请将其删除:
        HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>
    5. 如果该产品已安装每个用户的非托管:
      1. 打开以下注册表子项:
        HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches
        1. 如果<PatchSQUID>字符串值已存在,请删除它。</PatchSQUID>
        2. 如果<PatchSQUID>从"修补程序"多 sz 值存在,删除它。</PatchSQUID>
      2. 如果下面的注册表子项不存在,请将其删除:
        HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>
    6. 如果该产品已安装每个用户管理:
      1. 打开以下注册表子项:
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches
        1. 如果<PatchSQUID>字符串值已存在,请删除它。</PatchSQUID>
        2. 如果<PatchSQUID>从"修补程序"多 sz 值存在,删除它。</PatchSQUID>
      2. 如果下面的注册表子项不存在,请将其删除:
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>

参考

本文不适合通过 Windows Update 或 Microsoft 更新的问题发生。有关 Windows 更新或 Microsoft 更新问题进行故障排除的详细信息,请访问以下 Microsoft 网站:
971058 如何重置 Windows 更新组件?
906602 如何排查常见 Windows 更新、 Microsoft 更新和 Windows 服务器更新服务的安装问题

属性

文章编号: 971187 - 最后修改: 2014年3月4日 - 修订: 18.0
这篇文章中的信息适用于:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Starter
  • Windows Vista Ultimate
关键字:?
kbsurveynew kbcip kbmatsfixme kbmt KB971187 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 971187
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com