當 Microsoft .NET Framework 4 已安裝且重新開機作業受到擱置時,Microsoft .NET Framework 的更新可能會安裝失敗


徵狀


如果下列情況成立,Microsoft .NET Framework 4 版的更新可能尚未安裝完成:
  • 您先前已安裝 Microsoft .NET Framework 4 或 Microsoft .NET Framework 4 Client Profile。
  • 安裝新的更新前,系統重新啟動遭擱置但尚未完成。
注意 如果您使用 Windows Update 網站安裝更新,更新可能已提供並安裝完成。然而,將電腦重新啟動後,相同的更新會再提供一次。

發生的原因


之所以發生這個問題,是因為安裝 Microsoft .NET Framework 4 時,在重新啟動系統之前,特定的元件遺失或正在使用中。這些元件將無法更新,直到系統重新啟動為止。因此,在<徵狀>一節所述的情況下,shim (mscoree.dll) 的版本是 Microsoft .NET Framework 3.5 SP1 版或更早版本。安裝 Microsoft .NET Framework 4 會部署特定的設定,防止較舊版本的 shim 正常運作,直到系統重新啟動更新 shim 為止。在這種情況下,如果您嘗試在擱置重新啟動時安裝其他的 Microsoft .NET Framework 更新,更新將會嘗試針對更新中的檔案使用全域組件快取 (GAC) 部署。這個 GAC 操作需要使用 shim。然而,因為 shim 正處於擱置重新啟動的不一致狀態,GAC 操作將會失敗。如此導致更新失敗。

其他可行方案


如果要避免這個問題,安裝新的 Microsoft .NET Framework 更新前,請將系統重新啟動。如果您已遇到這個狀況,更新因為這個問題而無法安裝,請將電腦重新啟動,然後重新安裝新的更新。

狀況說明


Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。