Симптоми
Обмислете следния сценарий:
- 
              
Изпълнявате приложение, базирано на Microsoft .NET Framework 3.5 Service Pack 1 (SP1) Windows Presentation Foundation (WPF).
 - 
              
Приложението WPF използва канала за рендиране на хардуера.
 - 
              
Приложението зарежда и изключва много домейни на приложения, които съдържат един или повече персонализирани WPF компоненти на добавката.
 
В този случай приложението се натъква на изключение System.Runtime.InteropServices.COMException и приложението се срива.
Решение
Информация за гореща поправка
Поддържана актуална корекция е налична от Microsoft. Въпреки това тази актуална корекция е предназначена да коригира само проблема, описан в тази статия. Приложете тази актуална корекция само за системи, които изпитват този конкретен проблем. Тази актуална корекция може да получи допълнително тестване. Следователно, ако не сте сериозно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, която съдържа тази актуална корекция. За да изтеглите тази актуална корекция от MSDN код галерия, посетете следния уеб сайт на Microsoft:
http://code.msdn.microsoft.com/KB2276690Забележка: MsDN код галерия показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език в списъка, причината е, че ресурсната страница на кодовата галерия не е налична за този език. Забележка Ако възникнат допълнителни проблеми или ако е необходимо отстраняване на неизправности, може да се наложи да създадете отделна заявка за обслужване. Обичайните разходи за поддръжка ще се прилагат за допълнителни въпроси за поддръжка и проблеми, които не отговарят на условията за тази конкретна актуална корекция. За пълен списък на телефонните номера за обслужване на клиенти и поддръжка на Microsoft или за създаване на отделна заявка за обслужване посетете следния уеб сайт на Microsoft:
http://support.microsoft.com/contactus/?ws=support
Предпоставки
За да приложите тази актуална корекция, трябва да имате инсталиран .NET Framework 3.5 Service Pack 1 (SP1).
Изискване за рестартиране
Не е необходимо да рестартирате компютъра, след като приложите тази актуална корекция.
Информация за замяна на гореща поправка
Тази актуална корекция не замества други горещи поправки.
Информация за файла
Английската версия на тази актуална корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в таблицата по-долу. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). Когато преглеждате информацията за файла, тя се конвертира в локално време. За да намерите разликата между UTC и локалното време, използвайте раздела Часова зона в елемента Дата и час в контролния панел.
За всички поддържани базирани на x86 версии на Windows Server 2003 и Windows XP
| 
                           Име на файл  | 
                        
                           Версия на файл  | 
                        
                           Размер на файла  | 
                        
                           Дата  | 
                        
                           Час  | 
                        
                           Платформа  | 
                      
|---|---|---|---|---|---|
| 
                           Presentationcore.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           4,218,880  | 
                        
                           02 септември 2010 г.  | 
                        
                           01:32  | 
                        
                           x86  | 
                      
| 
                           Presentationframework.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           5,279,744  | 
                        
                           02 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x86  | 
                      
| 
                           Presentationhost.exe  | 
                        
                           4.0.40305.0  | 
                        
                           295,264  | 
                        
                           02 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x86  | 
                      
| 
                           Presentationhostdll.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           130,408  | 
                        
                           02 септември 2010 г.  | 
                        
                           01:32  | 
                        
                           x86  | 
                      
| 
                           Presentationhostproxy.dll  | 
                        
                           4.0.31106.0  | 
                        
                           99,176  | 
                        
                           02 септември 2010 г.  | 
                        
                           01:32  | 
                        
                           x86  | 
                      
| 
                           Windowsbase.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           1,249,280  | 
                        
                           02 септември 2010 г.  | 
                        
                           01:32  | 
                        
                           x86  | 
                      
За всички поддържани базирани на x64 версии на Windows Server 2003 и Windows XP
| 
                           Име на файл  | 
                        
                           Версия на файл  | 
                        
                           Размер на файла  | 
                        
                           Дата  | 
                        
                           Час  | 
                        
                           Платформа  | 
                      
|---|---|---|---|---|---|
| 
                           Presentationcore.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           3,997,696  | 
                        
                           02 септември 2010 г.  | 
                        
                           00:53  | 
                        
                           x64  | 
                      
| 
                           Presentationframework.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           4,636,672  | 
                        
                           02 септември 2010 г.  | 
                        
                           00:48  | 
                        
                           x64  | 
                      
| 
                           Presentationhost.exe  | 
                        
                           4.0.31106.0  | 
                        
                           320,352  | 
                        
                           02 септември 2010 г.  | 
                        
                           00:48  | 
                        
                           x64  | 
                      
| 
                           Presentationhostdll.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           171,368  | 
                        
                           02 септември 2010 г.  | 
                        
                           00:53  | 
                        
                           x64  | 
                      
| 
                           Presentationhostproxy.dll  | 
                        
                           4.0.31106.0  | 
                        
                           109,928  | 
                        
                           02 септември 2010 г.  | 
                        
                           00:53  | 
                        
                           x64  | 
                      
| 
                           Windowsbase.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           1,110,016  | 
                        
                           02 септември 2010 г.  | 
                        
                           00:53  | 
                        
                           x64  | 
                      
За всички поддържани базирани на x86 версии на Windows Vista Service Pack 2 (SP2) и Windows Server 2008 Service Pack 2 (SP2)
| 
                           Име на файл  | 
                        
                           Версия на файл  | 
                        
                           Размер на файла  | 
                        
                           Дата  | 
                        
                           Час  | 
                        
                           Платформа  | 
                      
|---|---|---|---|---|---|
| 
                           Presentationcore.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           4,218,880  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x86  | 
                      
| 
                           Presentationfontcache.exe.config  | 
                        
                           Неприложимо  | 
                        
                           161  | 
                        
                           03 април 2009 г.  | 
                        
                           21:25  | 
                        
                           Неприложимо  | 
                      
| 
                           Wpfgfx_v0300.dll  | 
                        
                           3.0.6920.4003  | 
                        
                           1,736,024  | 
                        
                           17 юни 2009 г.  | 
                        
                           08:03  | 
                        
                           x86  | 
                      
| 
                           Presentationframework.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           5,279,744  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x86  | 
                      
| 
                           Presentationhostdll.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           130,408  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x86  | 
                      
| 
                           Windowsbase.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           1,249,280  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x86  | 
                      
За всички поддържани базирани на x64 версии на Windows Vista SP2 и Windows Server 2008 SP2
| 
                           Име на файл  | 
                        
                           Версия на файл  | 
                        
                           Размер на файла  | 
                        
                           Дата  | 
                        
                           Час  | 
                        
                           Платформа  | 
                      
|---|---|---|---|---|---|
| 
                           Presentationcore.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           3,997,696  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x64  | 
                      
| 
                           Presentationfontcache.exe.config  | 
                        
                           Неприложимо  | 
                        
                           161  | 
                        
                           03 април 2009 г.  | 
                        
                           20:58  | 
                        
                           Неприложимо  | 
                      
| 
                           Wpfgfx_v0300.dll  | 
                        
                           3.0.6920.4003  | 
                        
                           2,254,168  | 
                        
                           17 юни 2009 г.  | 
                        
                           08:03  | 
                        
                           x64  | 
                      
| 
                           Presentationframework.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           4,636,672  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x64  | 
                      
| 
                           Presentationhostdll.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           171,368  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x64  | 
                      
| 
                           Windowsbase.dll  | 
                        
                           3.0.6920.4033  | 
                        
                           1,110,016  | 
                        
                           09 септември 2010 г.  | 
                        
                           10:52  | 
                        
                           x64  | 
                      
За всички поддържани базирани на x86 версии на Windows 7
| 
                           Име на файл  | 
                        
                           Версия на файл  | 
                        
                           Размер на файла  | 
                        
                           Дата  | 
                        
                           Час  | 
                        
                           Платформа  | 
                      
|---|---|---|---|---|---|
| 
                           Presentationcore.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           4,218,880  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:29  | 
                        
                           x86  | 
                      
| 
                           Presentationfontcache.exe.config  | 
                        
                           Неприложимо  | 
                        
                           161  | 
                        
                           10 юни 2009 г.  | 
                        
                           21:14  | 
                        
                           Неприложимо  | 
                      
| 
                           Wpfgfx_v0300.dll  | 
                        
                           3.0.6920.4902  | 
                        
                           1,736,536  | 
                        
                           10 юни 2009 г.  | 
                        
                           21:14  | 
                        
                           x86  | 
                      
| 
                           Presentationframework.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           5,279,744  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:29  | 
                        
                           x86  | 
                      
| 
                           Presentationhostdll.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           130,408  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:29  | 
                        
                           x86  | 
                      
| 
                           Presentationhost.exe  | 
                        
                           4.0.31106.0  | 
                        
                           295,264  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:29  | 
                        
                           x86  | 
                      
| 
                           Presentationhostproxy.dll  | 
                        
                           4.0.31106.0  | 
                        
                           99,176  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:29  | 
                        
                           x86  | 
                      
| 
                           Windowsbase.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           1,253,376  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:29  | 
                        
                           x86  | 
                      
За всички поддържани базирани на x64 версии на Windows 7 и Windows Server 2008 R2
| 
                           Име на файл  | 
                        
                           Версия на файл  | 
                        
                           Размер на файла  | 
                        
                           Дата  | 
                        
                           Час  | 
                        
                           Платформа  | 
                      
|---|---|---|---|---|---|
| 
                           Presentationcore.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           3,997,696  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x64  | 
                      
| 
                           Presentationfontcache.exe.config  | 
                        
                           Неприложимо  | 
                        
                           161  | 
                        
                           10 юни 2009 г.  | 
                        
                           20:30  | 
                        
                           Неприложимо  | 
                      
| 
                           Wpfgfx_v0300.dll  | 
                        
                           3.0.6920.4902  | 
                        
                           2,255,176  | 
                        
                           10 юни 2009 г.  | 
                        
                           20:30  | 
                        
                           x64  | 
                      
| 
                           Presentationframework.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           4,636,672  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x64  | 
                      
| 
                           Presentationhostdll.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           171,368  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x64  | 
                      
| 
                           Presentationhost.exe  | 
                        
                           4.0.31106.0  | 
                        
                           320,352  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x64  | 
                      
| 
                           Presentationhostproxy.dll  | 
                        
                           4.0.31106.0  | 
                        
                           109,928  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x64  | 
                      
| 
                           Windowsbase.dll  | 
                        
                           3.0.6920.5012  | 
                        
                           1,114,112  | 
                        
                           11 септември 2010 г.  | 
                        
                           01:28  | 
                        
                           x64  | 
                      
Статус
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".
Заобиколно решение
За да заобиколите този проблем, забранете канала за рендиране на хардуера и след това разрешете канала за рендиране на софтуера. За да забраните канала за рендиране на хардуера и да разрешите канала за рендиране на софтуера, използвайте един от следните методи:
- 
              
Задайте изброяването system.Windows.Interop.RenderMode.По-долу е посочен примерен код, който задава изброяването на System.Windows.Interop.RenderMode, за да се разреши каналът за рендиране на софтуер, когато се зарежда прозорец на WPF:
private void OnLoaded(object sender, EventArgs e){System.Windows.Interop.HwndSource hwndSource = PresentationSource.FromVisual(this) as System.Windows.Interop.HwndSource;System.Windows.Interop.HwndTarget hwndTarget = hwndSource.CompositionTarget; hwndTarget.RenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;}
 - 
              
Задайте ключа от системния регистър DisableHWAcceleration .Важно Този раздел, метод или задача съдържа стъпки, които ви казват как да промените системния регистър. Ако не промените правилно системния регистър обаче, е възможно да възникнат сериозни проблеми. Затова се уверете, че следвате тези стъпки внимателно. За допълнителна защита архивирайте регистъра, преди да го промените. След това, ако възникне проблем, можете да възстановите регистъра. За допълнителна информация как да направите резервно копие на системния регистър или да възстановите регистъра щракнете върху следния номер на статия от базата знания на Microsoft:
322756 Как да архивирате и възстановите системния регистър в предупреждението на WindowsТози метод забранява хардуерния канал за рендиране за всички приложения на WPF на компютъра. Следователно методът не се препоръчва обикновено освен когато клиентите управляват средите и нямат нищо против ефекта за всички приложения на WPF.
- 
                  
Щракнете върху Старт, щракнете върху Изпълнение, въведете regedit и след това натиснете КЛАВИША ENTER.
 - 
                  
Намерете и след това щракнете върху следния подключ в системния регистър:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics
 - 
                  
Задайте стойността на записа в системния регистър DisableHWAcceleration на 1.Забележка Ако записът в системния регистър DisableHWAcceleration не съществува, щракнете с десния бутон върху подключа на системния регистър, посочете Създай и след това щракнете върху Стойност на низ , за да създадете нов запис в системния регистър. Въведете DisableHWAcceleration за името на новия запис в системния регистър, щракнете двукратно върху DisableHWAcceleration и след това променете данните за стойността DisableHWAcceleration на 1.
 - 
                  
Затворете редактора на системния регистър.
 
 - 
                  
 
Повече информация
За повече информация относно канала за рендиране на софтуер посетете следния уеб сайт на Microsoft Developer Network (MSDN):Обща информация за каналаза рендиране на софтуер за повече информация относно настройките на системния регистър на WPF рендиране посетете следния уеб сайт на MSDN:Обща информация за настройките на системния регистър на WPF рендиранеЗа повече информация относно изброяването на System.Windows.Interop.RenderMode посетете следния уеб сайт на MSDN:Обща информация за изброяването "System.Windows.Interop.RenderMode"