問題徵狀:

在安裝KB2686509時,出現以下的錯誤訊息:安裝程式無法繼續,因為一或多個先決條件安裝KB2686509要求失敗。其他詳細資料請查閱記錄檔C:\Windows\KB2686509.log

<錯誤畫面如下>

image

如果您檢查C:\Windows\KB2686509.log,將會看到以下的錯誤

4.766: 2012/05/10 09:02:56.015 (local)

4.766: C:\WINDOWS\SoftwareDistribution\Download\5fd47775e1be4d25f956fdb91deff05e\update\update.exe (version 6.3.13.0)

4.828: DoInstallation: GetProcAddress(InitializeCustomizationDLL) Returned: 0x7f

4.828: Failed To Enable SE_SHUTDOWN_PRIVILEGE

4.828: Hotfix started with following command line: -q -z -er /ParentInfo:c9b475749f9b1942901712dac21d2293

4.953: In Function GetReleaseSet, line 1240, RegQueryValueEx failed with error 0x2

6.422: Return Value From IsMachineSafe = 0

6.422: IsMachineSafe returned 441092

6.422: Fist Condition in Prereq.IsMachineSafe.Section Failed

6.422: Condition Check for Line 1 of PreRequisite returned FALSE

6.422: ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102

6.422: KB2686509 安裝程式遇到錯誤:  安裝程式無法繼續,因為一或多個先決條件的安裝 KB2686509 要求失敗。其他詳細資料請查閱記錄檔 c:\windows\KB2686509.log

6.438: ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102

6.438: 安裝程式無法繼續,因為一或多個先決條件的安裝 KB2686509 要求失敗。其他詳細資料請查閱記錄檔 c:\windows\KB2686509.log

6.438: Update.exe extended error code = 0xf0f4

問題發生的可能原因:

如果您在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard layout 機碼右方有設定ScanCode Map"的值,就可能發生此問題。

解決方法:

  1. 如果您確定在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard layout 機碼右方有設定ScanCode Map"的值,請暫時先匯出備份>刪除此機碼>安裝Hotfix,再匯入此機碼解決。
  2. 如果您有大量的機器遇到此問題,您可以將以下四行文字存成一個bat檔,再針對此bat檔派送。(KB2686509的執行檔依照您的位置再去修改第三行的文字內容)

reg export "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout" c:\1.reg
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /f
C:\WindowsXP-KB2686509-x86-CHT.exe /quiet /norestart
reg import c:\1.reg

參考資料

MS12-034: Description of the security update for CVE-2012-0181 in Windows XP and Windows Server 2003: May 8, 2012

http://support.microsoft.com/kb/2686509/en-us