Pendahuluan
Aplikasi yang bergantung pada .NET Framework untuk menginisialisasi komponen COM dan yang dijalankan dengan izin terbatas mungkin gagal untuk mulai menjalankan atau menjalankan dengan benar setelah Anda menginstal 2018 Juli keamanan dan kualitas Batal pemutakhiran untuk .NET Framework.
Microsoft .NET Framework runtime menggunakan token proses untuk menentukan apakah proses berjalan dalam konteks ditinggikan. Panggilan sistem ini dapat gagal apabila tidak ada diperlukan proses pemeriksaan izin. Hal ini menyebabkan galat "Akses ditolak".
Gejala
Setelah Anda menginstal Pembaruan keamanan Juli 2018 .NET Frameworkyang mana pun, komponen COM gagal untuk memuat karena "Akses ditolak," "kelas tidak terdaftar," atau "kerusakan internal terjadi karena alasan yang tidak diketahui" galat. Tanda kegagalan paling umum adalah sebagai berikut:
Exception type: System.UnauthorizedAccessException
Message: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
SharePoint
-
Saat pengguna menjelajah ke situs SharePoint, mereka akan melihat pesan HTTP 403: "Situs Web ditolak untuk menampilkan halaman web ini" HTTP 403.
-
Log ULS SharePoint akan berisi pesan seperti berikut ini:
w3wp.exe (0x1894) 0x0B94 SharePoint Foundation General 0000 High UnauthorizedAccessException for the request. 403 Forbidden will be returned. Error=An error occurred creating the configuration section handler for system.serviceModel/extensions: Could not load file or assembly <AssemblySignature> or one of its dependencies. Access is denied. (C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\machine.config line 180)
w3wp.exe (0x1894) 0x0B94 SharePoint Foundation General b6p2 VerboseEx Sending HTTP response 403:403 FORBIDDEN.
w3wp.exe (0x1894) 0x0B94 SharePoint Foundation General 8nca Verbose Application error when access /, Error=Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
-
Ketika merangkak sumber konten orang, permintaan mungkin gagal dan log entri berikut di SharePoint ULS Log:
mssearch.exe (0x118C) 0x203C SharePoint Server Search Crawler:Gatherer Plugin cd11 Warning The start address sps3s://<URLtoSite> cannot be crawled. Context: Application 'Search_Service_Application', Catalog 'Portal_Content' Details: Class not registered (0x80040154)
Ketika galat terjadi, pesan yang menyerupai berikut ini dicatat dalam log rayapan SharePoint:
sps3s://<URLtoSite> A component required for crawling this type of content is not registered with this application server. View the event logs for more information. (SearchID = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)
Konsol administrasi BizTalk Server
-
Konsol administrasi BizTalk Server gagal memulai dengan benar dan menghasilkan galat berikut ini:
An internal failure occurred for unknown reasons. (WinMgmt)
Program Location:
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Management.ManagementObject.Get()
at Microsoft.BizTalk.SnapIn.Framework.WmiProvider.SelectInstance
IIS dengan ASP klasik
-
Host ASP klasik memanggil CreateObject objek .NET COM dapat menghasilkan pesan galat yang menyerupai berikut ini: ActiveX component can't create object
.NET aplikasi yang menggunakan peniruan
-
Aplikasi .NET yang membuat contoh aplikasi .NET COM dalam konteks peniruan dapat menghasilkan pesan galat yang menyerupai berikut ini: 0x80040154 (REGDB_E_CLASSNOTREG)
Pemecahan Masalah
Untuk mengatasi masalah ini, menerapkan pembaruan Agustus 2018 keamanan dan kualitas pembatalan atau keamanan hanyaberlaku untuk sistem operasi dan .NET Framework dipasang. Untuk informasi lebih lanjut, kunjungi CVE 2018 8356 | .NET Framework Bypass kerentanan keamanan fitur.
Penyelesaian Masalah
Untuk mengatasi masalah ini, cobalah salah satu dari metode berikut ini.
CatatanTergantung pada aplikasi yang terkena dampak dan kode, penyelesaian masalah berikut mungkin tidak efektif.
-
Jika Anda memiliki pengetahuan tingkat lanjut tentang bagaimana mulai proses, menjalankan proses dengan menggunakanPROCESS_QUERY_INFORMATIONizin.
-
IIS host klasik ASP memanggil CreateObject untuk objek .NET COM akan menerima "komponen ActiveX tidak dapat membuat objek" galat:
-
Jika situs web menggunakan otentikasi anonim:
-
Mengubah kredensial otentikasi anonim situs Web menggunakan "identitas pool aplikasi."
-
-
Jika Anda menggunakan otentikasi dasar atau otentikasi Windows:
-
Masuk ke aplikasi satu kali sebagai identitas pool aplikasi, kemudian membuat contoh komponen .NET COM.
-
Setelah itu, pengguna situs lain akan dapat aktif .NET COM komponen tanpa kegagalan.
-
-
Selain itu, jika Anda menggunakan otentikasi Windows, dan Anda mengakses situs web dari konsol Windows server di mana aplikasi ASP dijalankan:
-
Membuat contoh komponen .NET COM juga mengatasi galat untuk pengguna situs lainnya.
-
-
-
Aplikasi .NET yang membuat contoh aplikasi .NET COM dalam konteks peniruan akan menghasilkan pesan galat "0x80040154 (REGDB_E_CLASSNOTREG)" :
-
Membuat contoh komponen .NET COM sebelum peniruan konteks panggilan.
-
Kemudian menyamar sebagai membuat contoh panggilan bekerja seperti yang diharapkan.
-
-
Jalankan aplikasi .NET dalam konteks pengguna menyamar.
-
Hindari penggunaan peniruan saat membuat objek .NET COM.
-
-
Jika UAC dimatikan untuk komputer, aktifkan kembali itu.
-
Jika proses gagal untuk memuat Diasymreader.dll, jalankan perintah berikut ini untuk perakitan: ngen install <the failing assembly> Untuk informasi lebih lanjut tentang ngen, lihatNgen.exe (gambar asli Generator).
Peringatan:Penyelesaian masalah berikut mungkin membuat komputer atau jaringan lebih mudah diserang oleh pengguna yang jahat atau perangkat lunak berbahaya seperti virus. Kami tidak menganjurkan pemecahan masalah ini. Namun, kami menyediakan informasi ini sehingga Anda dapat menerapkan penyelesaian masalah kebijaksanaan Anda sendiri. Gunakan penyelesaian ini risiko Anda sendiri.
-
Tambah "NETWORK SERVICE" ke grup administrator lokal.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Berlaku untuk
Pemutakhiran keamanan Juli 2018 .NET Frameworkuntuk .NET Framework 3.5, 4.0, 4.5.2, 4.6, 4.6.1, 4.6.2, 4,7, 4.7.1 dan 4.7.2 di semua versi yang dapat diterapkan dan didukung Windows