更新プログラム3059317を適用する直前に正常に動作する MFC ベースのプログラムがあります。
MS15-060: Microsoft コモン コントロールの脆弱性により、リモートでコードが実行される: 2015 年 6 月 9 日)
アップデートはComctl32.dll
新しいバージョンに置き換わります。
この更新プログラムを適用した後、ダイアログを開くと、プログラムがハングするだけです。すべてのダイアログが影響を受けるわけではないようですが、プログラムをクラッシュさせることなく、印刷プレビューが一貫してハングします。無反応になるだけです。
この問題を回避する方法を見つけるために、この問題をデバッグする方法がわかりません。プログラムがハングしたときにメモリ ダンプを作成すると、次のスタック トレースが得られます。
comctl32.dll!751f8505()
Xxx.exe!CWnd::WindowProc(unsigned int message, unsigned int wParam, long lParam) Line 2095 + 0x13 bytes
Xxx.exe!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 285
Xxxx.exe!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 434 + 0x10 bytes
user32.dll!76aafd72()
user32.dll!76aa84de()
user32.dll!76aafd72()
user32.dll!76aa9f8d()
ntdll.dll!77dd5a7e()
user32.dll!76aaa2af()
comctl32.dll!75249cfb()
comctl32.dll!751fb559()
user32.dll!76aafd72()
user32.dll!76aafe4a()
user32.dll!76ab09d3()
user32.dll!76abb759()
Xxx.exe!CWnd::DefWindowProcA(unsigned int nMsg, unsigned int wParam, long lParam) Line 1116 + 0x7 bytes
Xxx.exe!CWnd::Default() Line 315 + 0x13 bytes
Xxx.exe!CParsedEdit::OnPaint() Line 1603
Xxx.exe!CBannerEdit::OnPaint() Line 368
それで、私たちは確かに立ち往生してComctl32.dll
います-今何ですか?
ちなみに、場合によっては、アップデートをアンインストールすると問題が解決することがあります。
アップデート
いずれの場合も、Aero をオフにすると常に問題が解決します。また、KB3059317 は、この奇妙な動作を示す 2015 年 6 月の Windows Vista の唯一の更新プログラムではないようです。