Π Π°Π±ΠΎΡ‚Π° с внСшними ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ спСциализированных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, написанных Π½Π° языках C++, C# ΠΈΠ»ΠΈ Delphi. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ этапом ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ являСтся коррСктная рСгистрация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠ³Π»Π° Π΅Ρ‘ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Ошибки Π½Π° этом этапС приводят ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ сСрвСр 1Π‘ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ внСшнСй ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, блокируя Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Π°ΠΆΠ½Ρ‹Ρ… бизнСс-процСссов.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ рСгистрации зависит ΠΎΡ‚ разрядности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ самой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° (нативная DLL ΠΈΠ»ΠΈ .NET сборка). ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ инструмСнта ΠΈΠ»ΠΈ контСкста выполнСния ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам Ρ‚ΠΈΠΏΠ° "Класс Π½Π΅ зарСгистрирован" ΠΈΠ»ΠΈ "Access denied". Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ рСгистрации, инструмСнты regsvr32 ΠΈ regasm, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа.

Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Π°ΠΌ понадобятся ΠΏΡ€Π°Π²Π° администратора ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ваша Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… β€” Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном. Иногда простая пСрСрСгистрация Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, ΠΈ трСбуСтся глубокая диагностика рССстра Windows ΠΈΠ»ΠΈ настройка DCOM. ΠœΡ‹ рассмотрим ΠΊΠ°ΠΊ стандартныС сцСнарии, Ρ‚Π°ΠΊ ΠΈ слоТныС случаи, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ вСрсии Windows.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ рСгистрации ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Π»ΡŽΠ±Ρ‹Ρ… манипуляций с рССстром Windows Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ физичСский Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .dll для Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ .dll (сборка) для .NET Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π° совпадала с Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ процСсса 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ 64-Π±ΠΈΡ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3, Ρ‚ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ 64-Π±ΠΈΡ‚Π½ΠΎΠΉ.

ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ содСрТит кирилличСских символов ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Часто систСмныС администраторы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠ°ΠΏΠΊΡƒ C:\Components ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ установки самой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ошибки, связанныС с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ столу.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ рСгистрируйтС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ нСпосрСдствСнно ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ "Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ" ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ. ΠŸΡ€ΠΈ очисткС систСмы ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π°Π² доступа Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ нСдоступным, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ падСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘ Π±Π΅Π· Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ подпись Ρ„Π°ΠΉΠ»Π°, Ссли ΠΎΠ½Π° прСдусмотрСна Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. Π’ соврСмСнных вСрсиях Windows 10 ΠΈ 11 отсутствиС подписи ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ нСизвСстного издатСля ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ со стороны антивируса ΠΈΠ»ΠΈ встроСнного Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° систСмы. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш антивирус Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ€Π°Π½Ρ‚ΠΈΠ½ сразу послС копирования.

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ антивирус Π½Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ назначСния Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΎΠΆΠ½Ρ‹Ρ… срабатываний Π½Π° эвристичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°.

РСгистрация Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… COM-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‡Π΅Ρ€Π΅Π· regsvr32

Для стандартных Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, написанных Π½Π° C++ ΠΈΠ»ΠΈ Delphi, основным инструмСнтом слуТит систСмная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° regsvr32.exe. Она прописываСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π² рССстрС Windows, указывая систСмС ΠΏΡƒΡ‚ΡŒ ΠΊ DLL ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ рСгистрации/рСгистрации. Запуск ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора, ΠΈΠ½Π°Ρ‡Π΅ запись Π² Π²Π΅Ρ‚ΠΊΡƒ HKEY_LOCAL_MACHINE Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ привилСгиями ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΡƒΠΊΠ°Π·Π°Π² ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. Если ΠΏΡƒΡ‚ΡŒ содСрТит ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π΅Π³ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. УспСшноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сопровоТдаСтся появлСниСм систСмного Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.

regsvr32 "C:\Components\MyNativeComponent.dll"

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях трСбуСтся ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ пСрСрСгистрация. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡ /u для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ рСгистрации, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π° для Π½ΠΎΠ²ΠΎΠΉ записи. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ "мусорныС" ΠΊΠ»ΡŽΡ‡ΠΈ рССстра, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсий ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

  • πŸ› οΈ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ /s для Ρ‚ΠΈΡ…ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° рСгистрации, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° подтвСрТдСния.
  • πŸ”„ ВсСгда выполняйтС unregister (/u) ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΎΠ²ΠΎΠΉ установкой, Ссли ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° обновляСтся.
  • πŸ“‚ Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ зависимости DLL (Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½Π° зависит) находятся Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ ΠΈΠ»ΠΈ Π² систСмном ΠΏΡƒΡ‚ΠΈ.
πŸ“Š Π‘ ΠΊΠ°ΠΊΠΎΠΉ ошибкой Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈ рСгистрации?
0x80040201 (Класс Π½Π΅ зарСгистрирован)
0x80070005 (ΠžΡ‚ΠΊΠ°Π·Π°Π½ΠΎ Π² доступС)
0x80040206 (НСвСрная функция)
Ошибка Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚

Π Π°Π±ΠΎΡ‚Π° с .NET сборками ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ RegAsm

Если ваша внСшняя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° написана Π½Π° управляСмом ΠΊΠΎΠ΄Π΅ (.NET), использованиС regsvr32 Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° RegAsm.exe, которая Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав .NET Framework. Она Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ рСгистрируСт классы Π² рССстрС, Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» описания Ρ‚ΠΈΠΏΠΎΠ² (.tlb), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для Ρ€Π°Π½Π½Π΅Π³ΠΎ связывания Π² 1Π‘.

Π’Π°ΠΆΠ½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹. Для 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… сборок Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RegAsm ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Framework64, Π° для 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… β€” ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Framework. НСсоотвСтствиС вСрсий ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС "Bad image format" ΠΈΠ»ΠΈ нСвозмоТности Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сборку Π² процСсс 1Π‘.

Команда рСгистрации .NET сборки с Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Ρ„Π°ΠΉΠ»Π° Ρ‚ΠΈΠΏΠΎΠ² выглядит Ρ‚Π°ΠΊ:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase /tlb "C:\Components\MyNetComponent.dll"

ΠšΠ»ΡŽΡ‡ /codebase являСтся критичСским, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ рСгистрируСт ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ сборкС Π² рССстрС. Π‘Π΅Π· этого ΠΊΠ»ΡŽΡ‡Π° CLR (Common Language Runtime) Π½Π΅ смоТСт Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ», Ссли ΠΎΠ½ Π½Π΅ установлСн Π² GAC (Global Assembly Cache). ИспользованиС GAC Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π°Π² ΠΈ инструмСнтов, поэтому ΠΏΡƒΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· /codebase Π±ΠΎΠ»Π΅Π΅ распространСн Π² срСдС 1Π‘.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании ΠΊΠ»ΡŽΡ‡Π° /codebase сборка Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ строгоС имя (Strong Name). Если сборка Π½Π΅ подписана ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° RegAsm откаТСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ с этим ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ.

Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ систСмы ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘

Одной ΠΈΠ· самых частых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ разрядности. БоврСмСнная экосистСма 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ (x86), Ρ‚Π°ΠΊ ΠΈ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ (x64) вСрсии. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° строго ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ разрядности процСсса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° загруТаСтся. Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ это зависит ΠΎΡ‚ ярлыка запуска, Π° Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном β€” ΠΎΡ‚ вСрсии сСрвСра 1Π‘.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ соотвСтствия инструмСнтов рСгистрации для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€:

АрхитСктура 1Π‘ Π’ΠΈΠΏ ОБ ΠŸΡƒΡ‚ΡŒ ΠΊ RegAsm / RegSvr32 ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
32-Π±ΠΈΡ‚ (x86) Windows x64 SysWOW64 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹
64-Π±ΠΈΡ‚ (x64) Windows x64 System32 Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ систСмныС ΠΏΡƒΡ‚ΠΈ
Π›ΡŽΠ±Π°Ρ Windows x86 System32 Волько 32-битная срСда
.NET 4.0+ Windows x64 Framework64\v4... Для управляСмых сборок

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ процСсса 1Π‘ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ДиспСтчСр Π·Π°Π΄Π°Ρ‡. Если процСсс называСтся 1cv8.exe ΠΈ потрСбляСт Π±ΠΎΠ»Π΅Π΅ 4 Π“Π‘ памяти (тСорСтичСски), ΠΈΠ»ΠΈ Π² дСталях ΡƒΠΊΠ°Π·Π°Π½ΠΎ "64-разрядная", Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° 64-битная ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ 32-Π±ΠΈΡ‚Π½ΡƒΡŽ DLL Π² 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ процСсс Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ошибкой.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ DLL Ρ„Π°ΠΉΠ»Π°?

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ Ρ„Π°ΠΉΠ»Ρƒ DLL, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "Бвойства" -> Π²ΠΊΠ»Π°Π΄ΠΊΠ° "ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ". Если Ρ‚Π°ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΎ "x64" ΠΈΠ»ΠΈ "AMD64", это 64-битная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ DumpBin ΠΈΠ· состава Visual Studio с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ /headers.

Настройка ΠΏΡ€Π°Π² доступа ΠΈ DCOM

Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘ рСгистрация ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ выполняСтся Π½Π° сСрвСрС, Π½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ²ΡˆΠ΅Π³ΠΎ сСанс, ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ слуТбы сСрвСра 1Π‘. Π­Ρ‚ΠΎ создаСт слоТныС сцСнарии с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. Если ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ взаимодСйствия с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ столом ΠΈΠ»ΠΈ спСцифичСскими рСсурсами, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ настройка DCOM (Distributed Component Object Model).

Для настройки DCOM Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ dcomcnfg.exe. Π’ Π΄Π΅Ρ€Π΅Π²Π΅ консоли Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ "Π‘Π»ΡƒΠΆΠ±Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²" -> "ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹" -> "Мой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€" -> "Настройка DCOM". НайдитС Π² спискС Π²Π°ΡˆΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ (ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ProgID ΠΈΠ»ΠΈ CLSID) ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Ρ‘ свойства.

  • πŸ” На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ" Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сСрвСр 1Π‘, Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ доступа.
  • πŸ–₯️ На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "УдостовСрСниС" Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ "Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ" ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ систСмного ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • 🚫 ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подлинности, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки связи, установив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "НСт".

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° зарСгистрирована, Π½ΠΎ 1Π‘ Π΅Ρ‘ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ рССстра прописаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (HKEY_CURRENT_USER), Π° слуТба 1Π‘ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ систСмной ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ рССстра ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π²Π΅Ρ‚ΠΊΡƒ HKEY_LOCAL_MACHINE.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИзмСнСниС настроСк DCOM влияСт Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ всСго сСрвСра. НС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ подлинности Π½Π° сСрвСрах, доступных ΠΈΠ· внСшнСй сСти, Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°Π΅Ρ€Π²ΠΎΠ»ΠΎΠΌ.

β˜‘οΈ Диагностика ΠΏΡ€Π°Π² доступа

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Диагностика ΠΈ устранСниС ошибок

Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ соблюдСнии всСх инструкций ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ спСцифичСскиС ошибки. Код ошибки 0x80040154 (Class not registered) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ систСма Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ сущСствовании Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса. Π§Π°Ρ‰Π΅ всСго это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° разрядности ΠΈΠ»ΠΈ отсутствия рСгистрации. Код 0x80070005 (Access Denied) прямо Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ рССстру.

Для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ диагностики ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ Process Monitor ΠΎΡ‚ Sysinternals. ЗапуститС Π΅Ρ‘, установитС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ процСссу 1cv8.exe ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² 1Π‘. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ рССстра ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ пытаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ систСма ΠΈ Π³Π΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΉΡ‚ΠΈ скрытыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, отсутствиС ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Иногда ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ очистка кэша 1Π‘. Π£Π΄Π°Π»ΠΈΡ‚Π΅ содСрТимоС ΠΏΠ°ΠΏΠΎΠΊ кэша Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (AppData\Local\1C\1Cv8). ПослС этого ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запускС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° пСрСсоздаст слуТСбныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ попытаСтся ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ внСшниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Process Monitor для отслСТивания ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ доступа ΠΊ рССстру β€” это самый быстрый способ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки "Класс Π½Π΅ зарСгистрирован".

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Π±Π΅Π· ΠΏΡ€Π°Π² администратора?

ВСхничСски Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²Π΅Ρ‚ΠΊΡƒ HKEY_CURRENT_USER, Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с COM ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся рСгистрация Π² HKEY_CLASSES_ROOT, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² администратора. Π‘Π΅Π· этих ΠΏΡ€Π°Π² 1Π‘, запущСнная ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.

Π“Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ RegAsm Π² Windows 10/11?

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° находится Π² ΠΏΠ°ΠΏΠΊΠ°Ρ… .NET Framework. ΠŸΡƒΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΠΊΠ°ΠΊ C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe для 32-Π±ΠΈΡ‚Π½ΠΎΠΉ вСрсии ΠΈ ...\Framework64\... для 64-Π±ΠΈΡ‚Π½ΠΎΠΉ. Если ΠΏΠ°ΠΏΠΊΠΈ Π½Π΅Ρ‚, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ установлСн .NET Framework ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ вСрсии.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли regsvr32 Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ модуля совмСстимости?

Π­Ρ‚Π° ошибка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ нСсоотвСтствиС разрядности. Π’Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 64-Π±ΠΈΡ‚Π½ΡƒΡŽ DLL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 32-Π±ΠΈΡ‚Π½ΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ regsvr32 ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ SysWOW64 для 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° 64-Π±ΠΈΡ‚Π½ΠΎΠΉ Windows.

НуТно Π»ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅?

Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ β€” Π΄Π°, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π³Π΄Π΅ запускаСтся 1Π‘. Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ рСгистрация выполняСтся Π½Π° сСрвСрС 1Π‘. Волстый ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ локальной рСгистрации, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ завязана Π½Π° клиСнтскоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π΅ ΠΆΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹. Для Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ…: regsvr32 /u ΠΏΡƒΡ‚ΡŒ_ΠΊ_Ρ„Π°ΠΉΠ»Ρƒ.dll. Для .NET: RegAsm /u ΠΏΡƒΡ‚ΡŒ_ΠΊ_Ρ„Π°ΠΉΠ»Ρƒ.dll. Π­Ρ‚ΠΎ очистит ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· рССстра Windows.