Gejala
Pertimbangkan skenario berikut:
-
Anda menjalankan aplikasi Windows Presentation Foundation (WPF) berbasis Paket Layanan 1 (SP1) Microsoft .NET Framework 3.5.
-
Aplikasi WPF menggunakan saluran penyajian perangkat keras.
-
Aplikasi memuat dan membongkar banyak domain aplikasi yang berisi satu atau beberapa komponen add-in WPF kustom.
Dalam skenario ini, aplikasi menemukan pengecualian System.Runtime.InteropServices.COMException, lalu aplikasi mengalami crash.
Resolusi
Informasi hotfix
Hotfix yang didukung tersedia dari Microsoft. Namun, hotfix ini dimaksudkan untuk memperbaiki masalah yang dijelaskan dalam artikel ini saja. Terapkan hotfix ini hanya pada sistem yang mengalami masalah khusus ini. Hotfix ini mungkin menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terpengaruh oleh masalah ini, kami menyarankan agar Anda menunggu pembaruan perangkat lunak berikutnya yang berisi hotfix ini. Untuk mengunduh hotfix ini dari Galeri Kode MSDN, kunjungi situs web Microsoft berikut:
http://code.msdn.microsoft.com/KB2276690Catatan Galeri Kode MSDN menampilkan bahasa di mana hotfix tersedia. Jika Anda tidak melihat bahasa Anda tercantum, itu karena halaman sumber daya Galeri Kode tidak tersedia untuk bahasa tersebut. Catatan Jika masalah tambahan terjadi atau jika ada pemecahan masalah yang diperlukan, Anda mungkin harus membuat permintaan layanan terpisah. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah dukungan tambahan yang tidak memenuhi syarat untuk hotfix tertentu ini. Untuk daftar lengkap nomor telepon Layanan Pelanggan dan Dukungan Microsoft atau untuk membuat permintaan layanan terpisah, kunjungi situs web Microsoft berikut ini:
http://support.microsoft.com/contactus/?ws=support
Prasyarat
Untuk menerapkan hotfix ini, Anda harus menginstal .NET Framework 3.5 Service Pack 1 (SP1).Â
Persyaratan mulai ulang
Anda tidak perlu memulai ulang komputer setelah Anda menerapkan hotfix ini.
Informasi penggantian hotfix
Hotfix ini tidak menggantikan hotfix lainnya.
Informasi Berkas
Versi bahasa Inggris hotfix ini memiliki atribut file (atau atribut file yang lebih baru) yang tercantum dalam tabel berikut ini. Tanggal dan waktu untuk file ini tercantum dalam Waktu Universal Terkoordinasi (UTC). Saat melihat informasi berkas, waktu akan diubah ke waktu lokal. Untuk menemukan perbedaan antara UTC dan waktu setempat, gunakan tab Zona Waktu dalam item Tanggal dan Waktu di Panel Kontrol.
Untuk semua versi Windows Server 2003 dan Windows XP berbasis x86 yang didukung
|
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
02-Sep-2010 |
01:32 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
02-Sep-2010 |
01:28 |
x86 |
|
Presentationhost.exe |
4.0.40305.0 |
295,264 |
02-Sep-2010 |
01:28 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
02-Sep-2010 |
01:32 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
02-Sep-2010 |
01:32 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
02-Sep-2010 |
01:32 |
x86 |
Untuk semua versi Windows Server 2003 dan Windows XP berbasis x64 yang didukung
|
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
02-Sep-2010 |
00:53 |
x64 |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
02-Sep-2010 |
00:48 |
x64 |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
02-Sep-2010 |
00:48 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
02-Sep-2010 |
00:53 |
x64 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
02-Sep-2010 |
00:53 |
x64 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
02-Sep-2010 |
00:53 |
x64 |
Untuk semua versi Windows Vista Service Pack 2 (SP2) dan Windows Server 2008 Service Pack 2 (SP2) yang didukung
|
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
09-Sep-2010 |
10:52 |
x86 |
|
Presentationfontcache.exe.config |
Tidak Berlaku |
161 |
03-Apr-2009 |
21:25 |
Tidak Berlaku |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
1,736,024 |
17-Jun-2009 |
08:03 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
09-Sep-2010 |
10:52 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
09-Sep-2010 |
10:52 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
09-Sep-2010 |
10:52 |
x86 |
Untuk semua versi Windows Vista SP2 dan Windows Server 2008 SP2 berbasis x64 yang didukung
|
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
09-Sep-2010 |
10:52 |
x64 |
|
Presentationfontcache.exe.config |
Tidak Berlaku |
161 |
03-Apr-2009 |
20:58 |
Tidak Berlaku |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
2,254,168 |
17-Jun-2009 |
08:03 |
x64 |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
09-Sep-2010 |
10:52 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
09-Sep-2010 |
10:52 |
x64 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
09-Sep-2010 |
10:52 |
x64 |
Untuk semua Windows 7 versi berbasis x86 yang didukung
|
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
4,218,880 |
11-Sep-2010 |
01:29 |
x86 |
|
Presentationfontcache.exe.config |
Tidak Berlaku |
161 |
10-Jun-2009 |
21:14 |
Tidak Berlaku |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
1,736,536 |
10-Jun-2009 |
21:14 |
x86 |
|
Presentationframework.dll |
3.0.6920.5012 |
5,279,744 |
11-Sep-2010 |
01:29 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.5012 |
130,408 |
11-Sep-2010 |
01:29 |
x86 |
|
Presentationhost.exe |
4.0.31106.0 |
295,264 |
11-Sep-2010 |
01:29 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
11-Sep-2010 |
01:29 |
x86 |
|
Windowsbase.dll |
3.0.6920.5012 |
1,253,376 |
11-Sep-2010 |
01:29 |
x86 |
Untuk semua versi Windows 7 dan Windows Server 2008 R2 berbasis x64 yang didukung
|
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
3,997,696 |
11-Sep-2010 |
01:28 |
x64 |
|
Presentationfontcache.exe.config |
Tidak Berlaku |
161 |
10-Jun-2009 |
20:30 |
Tidak Berlaku |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
2,255,176 |
10-Jun-2009 |
20:30 |
x64 |
|
Presentationframework.dll |
3.0.6920.5012 |
4,636,672 |
11-Sep-2010 |
01:28 |
x64 |
|
Presentationhostdll.dll |
3.0.6920.5012 |
171,368 |
11-Sep-2010 |
01:28 |
x64 |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
11-Sep-2010 |
01:28 |
x64 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
11-Sep-2010 |
01:28 |
x64 |
|
Windowsbase.dll |
3.0.6920.5012 |
1,114,112 |
11-Sep-2010 |
01:28 |
x64 |
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Penyelesaian Masalah
Untuk mengatasi masalah ini, nonaktifkan saluran penyajian perangkat keras, lalu aktifkan saluran penyajian perangkat lunak. Untuk menonaktifkan saluran penyajian perangkat keras, dan untuk mengaktifkan saluran penyajian perangkat lunak, gunakan salah satu metode berikut ini:
-
Atur enumerasi System.Windows.Interop.RenderMode.Berikut ini adalah beberapa kode contoh yang mengatur enumerasi System.Windows.Interop.RenderMode untuk mengaktifkan pipeline penyajian perangkat lunak saat jendela WPF dimuat:
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;}
-
Atur kunci registri DisableHWAcceleration .Penting Bagian ini, metode, atau tugas berisi langkah-langkah yang memberi tahu Anda cara mengubah registri. Namun, masalah yang serius dapat terjadi apabila Anda salah dalam mengubah registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah tersebut dengan seksama. Untuk perlindungan tambahan, buat cadangan registri sebelum memodifikasinya. Lalu, Anda dapat memulihkan registri jika terjadi masalah. Untuk informasi selengkapnya tentang cara mencadangkan dan memulihkan registri, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
322756 Cara mencadangkan dan memulihkan registri di Peringatan WindowsMetode ini menonaktifkan pipeline penyajian perangkat keras untuk semua aplikasi WPF di komputer. Oleh karena itu, metode ini tidak didorong biasanya kecuali ketika pelanggan mengontrol lingkungan dan tidak keberatan dengan efek untuk semua aplikasi WPF.
-
Klik Mulai, klik Jalankan, ketik regedit, lalu tekan ENTER.
-
Temukan kemudian klik subkunci registri berikut:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics
-
Atur nilai entri registri DisableHWAcceleration menjadi 1.Catatan Jika entri registri DisableHWAcceleration tidak ada, klik kanan subkey registri, arahkan ke Baru, lalu klik Nilai String untuk membuat entri registri baru. Ketik DisableHWAcceleration untuk nama entri registri baru, klik ganda DisableHWAcceleration, lalu ubah data nilai DisableHWAcceleration menjadi 1.
-
Keluar dari Penyunting Registri.
-
Informasi Selengkapnya
Untuk informasi selengkapnya tentang saluran penyajian perangkat lunak, kunjungi situs web Jaringan Pengembang Microsoft (MSDN) berikut:Informasi umum tentang saluranpenyajian perangkat lunak Untuk informasi selengkapnya tentang pengaturan registri penyajian WPF, kunjungi situs web MSDN berikut ini:Informasi umum tentang pengaturan registri penyajian WPFUntuk informasi selengkapnya tentang enumerasi System.Windows.Interop.RenderMode, kunjungi situs web MSDN berikut:Informasi umum tentang enumerasi "System.Windows.Interop.RenderMode"