Windows Server 2008 R2 SP1 KB4600944安全補(bǔ)丁是.NET Framework 4.8 安全和質(zhì)量匯總。已經(jīng)為這些操作系統(tǒng)購買本地版本的擴(kuò)展安全更新 (ESU) 的客戶必須遵循 KB4522133中的特定流程,才能在 2020 年 1 月 14 日擴(kuò)展支持結(jié)束后繼續(xù)接收安全更新。
補(bǔ)丁介紹
適用于:
Microsoft .NET Framework 4.8。
重要說明 安裝此更新前,請確認(rèn)已安裝如何獲取此更新部分列出的必需更新。
重要說明對于某些使用 Windows Server 2008 R2 SP1,并在安裝 2020 年 1 月 14 日更新前已激活其 ESU 多激活密鑰 (MAK) 加載項的客戶,可能需要重新激活其密鑰。只需要在受影響的設(shè)備上重新激活一次。? 有關(guān)激活的信息,請參閱此博客文章。
重要說明WSUS 掃描 cab 文件將繼續(xù)適用于 Windows 7 SP1 和 Windows Server 2008 R2 SP1。如果有一部分設(shè)備在沒有 ESU 的情況下運行這些操作系統(tǒng),則它們可能會在補(bǔ)丁程序管理和合規(guī)性工具集中顯示為“不符合”
此更新中的已知問題
癥狀安裝此更新后,WPF 應(yīng)用程序可能會崩潰,調(diào)用堆棧類似于:
Exception Info: System.NullReferenceException at System.Windows.Interop.HwndMouseInputProvider.HasCustomChrome(System.Windows.Interop.HwndSource, RECT ByRef)
at System.Windows.Interop.HwndMouseInputProvider.GetEffectiveClientRect(IntPtr)
at System.Windows.Interop.HwndMouseInputProvider.PossiblyDeactivate(IntPtr, Boolean)
at System.Windows.Interop.HwndMouseInputProvider.Dispose()
當(dāng)釋放 RootVisual 為 null 的 HwndSource 時,將發(fā)生這種情況;當(dāng)停靠或拆分窗口時,在 Visual Studio 中會出現(xiàn)這種情況,其他應(yīng)用也可能出現(xiàn)此情況。
解決方法
若要解決此問題,在“適用于庫使用者的 AppContext”標(biāo)題下,使用 AppContext 類 (System) 中描述的某個方法來設(shè)置兩個 AppContext 開關(guān)。 開關(guān)命名為: Switch.System.Windows.Interop.MouseInput.optootfmovetochromedwindowfix 和 Switch.System.Windows.Interop.MouseInput.DoNotOptOutOfMoveToChromedWindowFix,并且兩者都應(yīng)設(shè)置為 “true”。 第一個開關(guān)避免了崩潰,但是重新引入了 KB 中已修復(fù)的錯誤。 當(dāng)前將忽略第二個開關(guān),但在將來的 .NET 更新中將識別該開關(guān),該更新包含對 null-reference 崩潰的修補(bǔ)程序; 它會還原原始 bug 修復(fù)。
例如,使用 app.config 文件方法在應(yīng)用程序范圍內(nèi)應(yīng)用解決方法:
《AppContextSwitchOverrides value=“Switch.System.Windows.Interop.MouseInput.OptOutOfMoveToChromedWindowFix=true; Switch.System.Windows.Interop.MouseInput.DoNotOptOutOfMoveToChromedWindowFix=true ” /》