简介

Microsoft 已发布安全公告 MS12-034。要查看完整的安全公告,请访问下面的一个 Microsoft 网站:

如何获取此安全更新的相关帮助和支持

帮助安装更新:Microsoft Update 支持

IT 专业人员安全解决方案:TechNet 安全疑难解答和支持

帮助保护您运行 Windows 的计算机不受病毒和恶意软件危害:病毒解决方案和安全中心

基于国家/地区的本地支持:国际支持

更多信息

此安全更新启用可以修复在加载键盘布局文件时出现的问题的修补程序。您必须安装此更新和安全更新 2676562,以保护系统不受键盘布局漏洞的危害,这些漏洞可能是由于从不受信任的位置加载键盘布局文件而造成。

什么是此更新?

Windows 内核模式驱动程序 (Win32k.sys) 负责在基于 Windows 的计算机上加载键盘布局文件。必须安装安全更新 2676562 和 2686509,以保护系统不受键盘布局漏洞的危害,MSRC 安全公告 MS12-034 中介绍了这些漏洞。

此更新的工作原理?

此更新先枚举在您的计算机上注册的所有键盘布局文件,然后验证所有这些文件是否都在“%Windir%\System32”文件夹中。

尝试安装此安全更新时,您可能会收到类似以下内容的错误消息:

由于一个或多个要求安装 KB2686509 的先决条件未能满足,安装程序无法继续 (0x8007F0F4)


如果任何注册的键盘布局文件不在“%Windir%\System32”文件夹中,您就会收到此消息。在这种情况下,计算机与安全更新不兼容。

常见问题

为什么多次提示重新安装此更新?

只有在计算机上安装有 Windows 更新后,系统才不会提示重新安装此更新。如果提示重新安装此更新,可能是由于安装失败。请查看知识库安装日志文件了解错误代码。例如,此安全更新的知识库安装日志文件可能是“C:\Windows\KB2686509.log”
有关如何解决这些问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

958051 您在尝试安装 Windows Update 网站或 Microsoft Update 网站中的更新时,可能会收到“0x8007F0F4”错误代码

如果无法安装此安全更新并收到“0x8007F0F4”错误代码,应该怎么办?

如果您在尝试安装此安全更新时收到“0x8007F0F4”错误代码,请检查是否已在计算机上创建 %windir%\FaultyKeyboard.log 文件。

如果已创建“%windir%\FaultyKeyboard.log”文件,请执行以下步骤:

  1. 打开“%windir%”文件夹中的“Faultykeyboard.log”文件。此日志文件包含有关不在“%Windir%\System32”文件夹中的注册键盘布局文件的信息。此日志文件类似于以下内容:Keyboard1.dll
    .\Layoutfiles\keyboard2.dll
    C:\Windows\System\Kbda1.dll 注意在此示例中,第一项仅为文件名。第二项包括带文件名的相对路径。第三项包括文件的完整路径。

  2. 将“Faultykeyboard.log”日志文件中列出的文件复制到 System32 文件夹中。



如何将键盘布局文件复制到 System32 文件夹中?


注意

  • 以下步骤必须由管理员执行。

  • “%Windir%\System32”是受信任的文件夹。因此,请确保您的公司信任复制到此文件夹中的所有文件。例如,文件应由受信任的软件供应商提供。

  • 请勿将键盘布局文件移至“%Windir%\System32”文件夹中。请务必在得到指示后复制文件,而不是移动文件。


使用下面的任意一种方法将键盘布局文件复制到 System32 文件夹中:

  • 对于“Faultykeyboard.log”日志文件中任何使用文件名(而不是完整或相对路径)的项,找到文件,然后将其复制到“%Windir%\System32”文件夹中。(请勿移动文件。)

  • 对于“Faultykeyboard.log”日志文件中任何使用相对路径的项,使用下面两种方法中的一种:

    • 如果此项存在于下面任意一个注册表子项中,您必须在硬盘中找到此文件,然后将其复制到“%Windir%\System32”文件夹中:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts

    • 如果此项不存在于上面提及的注册表子项中,您必须联系软件供应商以解决此问题。


如何撤消注册或删除计算机中的键盘布局文件?

考虑删除任何不是由受信任的软件供应商提供的键盘布局文件。


注意

  • 以下步骤必须由管理员执行。

  • 在删除任何键盘布局文件前,请先确认计算机中的受信任应用程序不需要此文件。

重要说明本部分(或称方法或任务)包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756如何在 Windows 中备份和还原注册表

  1. 删除以下注册表子项中所有引用键盘布局文件的注册表项:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Keyboard Layout

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts

  2. 删除键盘布局文件。

此安全更新的已知问题

您的某些计算机设置可能会引起此安全更新安装失败。如果在安装过程中出现错误,请使用下列方法之一解决此问题。

方法 1. 自动解决此问题

为此,请执行以下步骤:

  1. 运行 Microsoft Fix it 50882。为此,请单击“修复此问题”按钮,单击“文件下载”对话框中的“运行”,然后执行“修复此问题”向导中的步骤。

  2. 安装本文所述的安全更新。

  3. 运行 Microsoft Fix it 50883。为此,请单击“修复此问题”按钮,单击“文件下载”对话框中的“运行”,然后执行“修复此问题”向导中的步骤。


方法 2. 手动解决此问题

为此,请执行以下步骤:

  1. 确定注册表项“IgnoreRemoteKeyboardLayout”或注册表项“ScanCode Map”是否存在于以下注册表子项下。任意一个注册表项都可能引起此安全更新安装失败。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard layout

  2. 备份此注册表子项。为此,请在“文件”菜单上单击“导出”。然后将 .reg 文件保存至安全位置,如磁盘或 USB 存储设备。

  3. 删除注册表子项。

  4. 安装本文所述的安全更新。

  5. 还原您在步骤 2 中保存的注册表项(.reg 文件)。为此,请双击您在步骤 2 中保存的 .reg 文件,然后在出现的对话框中单击“是”。

如果仍然无法安装此安全更新,请联系支持部门。

文件信息

此软件更新的英语(美国)版本将安装具有下表所列属性的文件。这些文件的日期和时间按协调世界时 (UTC) 列出。这些文件在您的本地计算机中的显示日期和时间是您的本地时间加上当前夏令时 (DST) 偏差。此外,如果对这些文件执行某些操作,日期和时间可能会更改。

Windows XP 和 Windows Server 2003 文件信息

  • 适用于特定里程碑 (SPn) 和服务分支(QFE、GDR)的文件标注在“SP 要求”和“服务分支”列中。

  • GDR 服务分支仅包含那些广泛发布以解决广泛分布的关键问题的修补程序。QFE 服务分支包含除了广泛发布的修补程序以外的其他修补程序。

  • 除了在这些表中列出的文件以外,此软件更新还会安装使用 Microsoft 数字签名进行签名的关联的安全目录文件 (KBnumber.cat)。

对于所有受支持的基于 x86 的 Windows XP 版本

File name

File version

File size

Date

Time

Platform

Kblchecker.dll

5.1.2600.6211

8,192

19-Apr-2012

11:26

x86

对于所有受支持的基于 x64 的 Windows Server 2003 和 Windows XP Professional x64 Edition 版本

File name

File version

File size

Date

Time

Platform

Kblchecker.dll

5.2.3790.4985

13,312

20-Apr-2012

00:25

x64

对于所有受支持的基于 x86 的 Windows Server 2003 版本

File name

File version

File size

Date

Time

Platform

Kblchecker.dll

5.2.3790.4985

8,704

19-Apr-2012

11:39

x86

对于所有受支持的基于 IA-64 的 Windows Server 2003 版本

File name

File version

File size

Date

Time

Platform

Kblchecker.dll

5.2.3790.4988

21,504

26-Apr-2012

01:19

IA-64

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×