Kesalahan DistributedCOM 10016 di Windows Izin untuk aplikasi tidak memberikan izin aktivasi lokal

Dalam catatan ini, saya akan menunjukkan cara memperbaiki kesalahan c Event ID 10016 dari sumber DistributedCOM pada komputer yang menjalankan Windows 10 / Windows Server 2012 R2. Kesalahan DCOM 10016 cukup umum di kedua versi klien dan server Windows, mulai dari saat Windows XP dan diperbaiki dengan cara yang sama, terlepas dari versi Windows.

Masalahnya memanifestasikan dirinya sebagai berikut: dalam log peristiwa sistem, ketika komputer dinyalakan atau ketika mencoba untuk memulai / menginstal aplikasi, kesalahan berikut muncul:

Nama log: Sistem
Sumber: DistributedCOM
ID acara: 10016
Level: Kesalahan
Pengguna: SISTEM
Deskripsi: Pengaturan izin khusus aplikasi tidak memberikan izin Peluncuran Lokal untuk aplikasi server COM dengan CLSID 1CCB96F4-B8AD-4B43-9688-B273F58E0910 dan APPID AD65A69D-3831-40D7-9629-9B0B50A93843 sistem AUTHORITY NT dengan SID (SID ( S-1-5-18) dan alamat LocalHost (menggunakan LRPC). Izin keamanan ini dapat diubah menggunakan Utilitas Manajemen Layanan Komponen..

Dalam versi bahasa Inggris Windows, deskripsi kesalahan adalah:

Pengaturan izin default mesin tidak memberikan izin Aktivasi Lokal untuk aplikasi COM Server dengan CLSID

000209FF-0000-0000-C000-000000000046 dan APPID Tidak tersedia untuk pengguna IIS APPPOOL \ appIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) dari alamat LocalHost (Menggunakan LRPC) berjalan dari LocalHost wadah aplikasi SID Tidak Tersedia (Tidak Tersedia). Izin keamanan ini dapat dimodifikasi menggunakan alat administrasi Layanan Komponen.

Dilihat oleh deskripsi kesalahan: pengguna tertentu (misalnya, IIS Apppool) atau sistem (NT AUTHORITY \ system) sedang mencoba untuk memulai komponen COM tertentu menggunakan infrastruktur DCOM dan tidak dapat melakukan ini karena kurangnya Mulai Lokal atau hak Aktivasi Lokal ( Izin Aktivasi Lokal). Kode kesalahan hanya berisi kode kelas komponen dan aplikasi COM. Mari kita coba untuk menentukan aplikasi mana milik pengidentifikasi dan memberikan hak yang diperlukan untuk meluncurkannya.

Salin CLSID dan APPID dari deskripsi acara. Dalam kasus saya itu

CLSID: 000209FF-0000-0000-C000-000000000046
APPID: AD65A69D-3831-40D7-9629-9B0B50A93843

(dalam beberapa kasus, pengidentifikasi aplikasi mungkin tidak ditentukan - APPID Tidak Tersedia).

Perhatikan juga izin apa yang tidak ada (izin Aktivasi Lokal) dan untuk akun mana (NT AUTHORITY \ SYSTEM atau IIS APPPOOL \ appIISPool SID - S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).

Dalam setiap kasus, pengidentifikasi kelas, aplikasi, akun, dan jenis akses mungkin berbeda.
  1. Jalankan editor registri (regedit.exe);
  2. Pergi ke cabang registri yang sesuai dengan CLSID Anda. Saya memilikinya HKEY_CLASSES_ROOT \ CLSID \000209FF-0000-0000-C000-000000000046; Dalam beberapa kasus, Anda juga perlu melihat kunci registri [HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \. Saat menyambungkan ke registri dari jarak jauh, itu akan berlokasi di bagian HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppID.
  3. Parameter kelas harus memiliki nama. Saya memiliki Aplikasi Microsoft Word ini; Paling sering masalah ini terjadi dengan komponen:
    Cangkang imersif
    CLSID: C2F03A33-21F5-47FA-B4BB-156362A2F239
    APPID: 316CDED5-E4AE-4B15-9113-7055D84DCC97
    Broker runtime
    CLSID: D63B10C5-BB46-4990-A94F-E40B9D520160
    APPID: 9CA88EE3-ACB7-47C8-AFC4-AB702511C276
  4. Klik kanan pada kunci registri dan pilih Izin;
  5. Klik pada tombol Mahir
  6. Di bagian ini Pemilik (Pemilik) akan ditunjukkan Layanan NT \ Pemasang Tepercaya atau Sistem;
  7. Tekan tombol Ubah dan masukkan nama akun administrator Anda. Simpan perubahan;
  8. Harap perhatikan bahwa nama pemilik cabang telah berubah ke akun Anda. Letakkan daw Ganti pemilik pada subkontainer dan objek (Ganti pemilik subkontainer dan objek) dan klik "OK";
  9. Dalam daftar izin, tambahkan akun administrator Anda dan berikan akses penuh (Izin Penuh);
  10. Anda telah memberikan hak ke cabang dengan CLSID. Sekarang Anda perlu mengulangi langkah-langkah sebelumnya, memberi hak administrator akun ke cabang dengan APPID Anda dari teks kesalahan (misalnya, HKEY_CLASSES_ROOT \ AppID \AD65A69D-3831-40D7-9629-9B0B50A93843;
  11. Sekarang mulai konsol manajemen komponen dcomcnfg dengan hak administrator (Panel Kontrol \ Semua Item Panel Kontrol \ Alat Administratif \ Layanan Komponen);
  12. Di konsol komponen pergi ke cabang Layanan komponen -> Komputer -> Komputer saya -> Konfigurasi DCOM. Dalam daftar komponen, temukan nama komponen yang Anda tentukan di langkah kedua (nilai di kolom ID Aplikasi harus cocok dengan CLSID Anda dari kesalahan). Buka komponen properti; Jika Anda tidak dapat menemukan komponen Anda dalam daftar, Anda mungkin memiliki versi Windows 64-bit, dan komponen yang diluncurkan adalah 32-bit. Dalam hal ini, Anda harus memulai konsol DCOM dengan perintah: mmc comexp.msc / 32
  13. Buka tab Keamanan. Semua kontrol harus dapat diedit; Jika Anda membuka konsol dcomcnfg sebelum mengubah izin pada cabang registri, semua pengaturan pada tab Keamanan akan diblokir (tidak dapat diubah), meskipun Anda memulai konsol sebagai administrator.
  14. Dalam kasus saya, aplikasi tidak memiliki hak yang cukup untuk Izin Aktivasi Lokal. Di bagian Luncurkan dan izin aktivasi pilih Kustomisasi dan klik tombol Edit;
  15. Di daftar akses, Anda perlu menambahkan akun yang tidak memiliki izin untuk berjalan. Nama akun ditunjukkan dalam teks kesalahan: tergantung pada teks dalam kesalahan DCOM 10016, ini mungkin Sistem, pengguna atau akun spesifik tempat kumpulan IIS diluncurkan (dalam hal ini, Anda perlu menambahkan akses untuk grup lokal IIS_IUSR).Kiat. Jika NT AUTHORITY \ NETWORK SERVICE ditentukan alih-alih sistem NT AUTHORITY \ dalam log kesalahan awal, Anda harus memberikan hak memulai dan aktivasi lokal untuk akun NetworkService.
  16. Berikan izin yang diperlukan untuk akun tersebut. Misalnya, Aktivasi Lokal -> Izinkan dan Peluncuran Lokal -> Izinkan;
  17. Nyalakan kembali komputer Anda dan periksa log peristiwa. Kesalahan DCOM 10016 harus hilang.