Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ 1Π‘: ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ внСшними прилоТСниями часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° COM-соСдинСния. GUID (Globally Unique Identifier) являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ класс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ интСрфСйс, Π΄Π°ΠΆΠ΅ Ссли ΠΈΡ… ΠΈΠΌΠ΅Π½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. Π‘Π΅Π· знания этого ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° автоматизация процСссов Ρ‡Π΅Ρ€Π΅Π· OLE Automation становится Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ, особСнно ΠΏΡ€ΠΈ написании ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° C++, Delphi ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ использовании скриптов Windows Script Host.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° 1Π‘: ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° динамичСски рСгистрируСт свои COM-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ сСрвСры Π² систСмном рССстрС Windows. Однако процСсс получСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π΅ всСгда Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ зависит ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, разрядности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (x86 ΠΈΠ»ΠΈ x64) ΠΈ способа запуска. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ извлСчСния Class ID (CLSID) ΠΈ Interface ID (IID), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ настройки взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами. Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ρ€Π°Π±ΠΎΡ‚Π° с рССстром Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² администратора.

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ формируСтся ΠΈ Π³Π΄Π΅ хранится ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ошибок Π²ΠΈΠ΄Π° "ActiveX component can't create object" ΠΈΠ»ΠΈ "Класс Π½Π΅ зарСгистрирован". Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ трСбуСтся ТСсткая привязка ΠΊ числовому ΠΊΠΎΠ΄Ρƒ. ΠœΡ‹ рассмотрим ΠΊΠ°ΠΊ стандартныС срСдства Windows, Ρ‚Π°ΠΊ ΠΈ спСциализированныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ.

Анатомия COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² 1Π‘ ΠΈ структура рССстра

COM-тСхнология, лСТащая Π² основС взаимодСйствия 1Π‘ с внСшним ΠΌΠΈΡ€ΠΎΠΌ, опираСтся Π½Π° ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмном рССстрС Windows. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ 1Π‘ прСдоставляСт Π½Π°Ρ€ΡƒΠΆΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, V83.COMConnector ΠΈΠ»ΠΈ V83.COMConnection), ΠΈΠΌΠ΅Π΅Ρ‚ свою запись Π² Π²Π΅Ρ‚ΠΊΠ΅ HKEY_CLASSES_ROOT. Π—Π΄Π΅ΡΡŒ хранится связь ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (ProgID) ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (CLSID). ProgID β€” это строковоС имя, ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ CLSID β€” это 128-Π±ΠΈΡ‚Π½ΠΎΠ΅ число, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса.

ΠŸΡ€ΠΈ установкС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ инсталлятор автоматичСски прописываСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ. Однако, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ»ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ рССстра, эти связи ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС поиск GUID прСвращаСтся Π² Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ цСлостности рСгистрации. Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для 32-Π±ΠΈΡ‚Π½ΠΎΠΉ ΠΈ 64-Π±ΠΈΡ‚Π½ΠΎΠΉ вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ… рССстра (WOW6432Node).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рССстра ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ систСмы. ΠŸΠ΅Ρ€Π΅Π΄ внСсСниСм Π»ΡŽΠ±Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ восстановлСния систСмы ΠΈΠ»ΠΈ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ рССстра Π² Ρ„Π°ΠΉΠ» .reg.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° записи ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΏΠΎΠ΄ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ CLSID находится ΠΏΠ°ΠΏΠΊΠ° с самим ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎΠ΄ ΠΊΠ»ΡŽΡ‡ InprocServer32 ΠΈΠ»ΠΈ LocalServer32. ИмСнно Ρ‚Π°ΠΌ ΡƒΠΊΠ°Π·Π°Π½ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ rphost.exe ΠΈΠ»ΠΈ rmngr.exe, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π—Π½Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ процСсс Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

πŸ’‘

Если Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘ Π² рССстрС, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ консоль 1Π‘ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· β€” это часто Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Поиск GUID Ρ‡Π΅Ρ€Π΅Π· стандартный Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рССстра Windows

Π‘Π°ΠΌΡ‹ΠΉ прямой ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ β€” использованиС встроСнной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ regedit.exe. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ПО ΠΈ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊΠΎ всСй ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рССстра, Π½Π°ΠΆΠ°Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш Win + R ΠΈ ввСдя ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ regedit. Π”Π°Π»Π΅Π΅ навигация осущСствляСтся ΠΏΠΎ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ структурС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

Π’Π°ΠΌ потрСбуСтся ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π» HKEY_CLASSES_ROOT. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ двумя путями. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ β€” Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ (ProgID), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, V83.COMConnector. Раскрыв этот ΠΊΠ»ΡŽΡ‡, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ искомый CLSID Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ β€” сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π²Π΅Ρ‚ΠΊΡƒ CLSID ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ список, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ нСэффСктивно Π±Π΅Π· знания Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ названия.

  • πŸ” ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ regedit ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² HKEY_CLASSES_ROOT.
  • πŸ“‚ НайдитС ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ V83.COMConnector.
  • πŸ“‹ Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° "(По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)" β€” это ΠΈ Π΅ΡΡ‚ΡŒ ваш GUID.
  • πŸ”„ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° InprocServer32 для подтвСрТдСния ΠΏΡƒΡ‚ΠΈ ΠΊ DLL.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… систСмах Windows для 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ 1Π‘ записи ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² спСцифичСской Π²Π΅Ρ‚ΠΊΠ΅ HKEY_CLASSES_ROOT\WOW6432Node\CLSID. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² срСдС x86, Π²Π°ΠΌ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GUID ΠΈΠ· этой Π²Π΅Ρ‚ΠΊΠΈ. Ошибка Π² Π²Ρ‹Π±ΠΎΡ€Π΅ разрядности ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма просто Π½Π΅ смоТСт Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, нСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΎΠΉ вСрсиСй Windows Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Windows 10 x64
Windows 11 x64
Windows Server 2019
Windows 7 x32
Другая ОБ

ИспользованиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ OLE Viewer для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ графичСский интСрфСйс ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ инструмСнтом являСтся OLE/COM Object Viewer (oleview.exe). Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Windows SDK ΠΈ позволяСт Π½Π΅ просто ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ GUID, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ доступныС интСрфСйсы, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Ρ‘ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора, ΠΈΠ½Π°Ρ‡Π΅ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ.

ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π»Π΅Π²ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΠ·Π΅Π» Object Classes. Π—Π΄Π΅ΡΡŒ всС зарСгистрированныС COM-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ отсортированы ΠΏΠΎ катСгориям. НайдитС Π² спискС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° V83 ΠΈΠ»ΠΈ содСрТащиС слово 1C. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² спискС ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ Π΅Π³ΠΎ CLSID, ProgID ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ свойств. Π­Ρ‚ΠΎ позволяСт Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ GUID Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ относится ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ 1Π‘.

ОсобСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ использованиС OLE Viewer ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π² Ρ„Π°ΠΉΠ» .idl (Interface Definition Language), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ структуру интСрфСйсов. Π­Ρ‚ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΏΡ€ΠΈ написании ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ Π½Π° C# ΠΈΠ»ΠΈ C++, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ рССстра, OLE Viewer ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ зарСгистрированы ΠΈ доступны для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π“Π΄Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ OLE Viewer?

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Windows SDK. Если Ρƒ вас установлСн Visual Studio, Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ установки Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Common Tools. Π’Π°ΠΊΠΆΠ΅ сущСствуСт портативная вСрсия, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ установки ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° SDK.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ поиск Ρ‡Π΅Ρ€Π΅Π· PowerShell ΠΈ скрипты

Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° сСрвСрах Π±Π΅Π· графичСского интСрфСйса идСально подходят возмоТности PowerShell. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных cmdlet ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ список всСх COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘ ΠΈ ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, сохранив Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² тСкстовый Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для систСмных администраторов, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€ΠΊΠΎΠΌ машин с установлСнной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ‰Π΅Ρ‚ всС ΠΊΠ»ΡŽΡ‡ΠΈ рССстра, связанныС с 1Π‘, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… CLSID. Π‘ΠΊΡ€ΠΈΠΏΡ‚ обращаСтся ΠΊ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρƒ рССстра PowerShell, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‰Π΅ ΠΈ бСзопаснСС ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с прямым ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ WMI.

Get-ChildItem Registry::HKEY_CLASSES_ROOT\CLSID | Where-Object { $_.GetValue("(Default)") -like "1C" -or $_.Name -like "V8" } | Select-Object PSChildName, @{N="ProgID";E={$_.GetValue("(Default)")}}

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ быстро ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ соотвСтствия ΠΈΠΌΠ΅Π½ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ интСрфСйс, ΠΌΠΎΠΆΠ½ΠΎ ΡΡƒΠ·ΠΈΡ‚ΡŒ поиск, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»ΡŽΡ‡Π°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для выполнСния Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, поэтому запускайтС PowerShell Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Run as Administrator.

  • πŸš€ ЗапуститС PowerShell с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора.
  • πŸ’» Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Get-ChildItem для сканирования Π²Π΅Ρ‚ΠΊΠΈ CLSID.
  • πŸ”Ž ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Where-Object для поиска ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам "1C" ΠΈΠ»ΠΈ "V8".
  • πŸ“ ЭкспортируйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² CSV для дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π°.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ чСловСчСский Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ поискС Π² дСбрях рССстра. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, скрипт ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ GUID ΠΏΠ΅Ρ€Π΅Π΄ запуском внСшнСго прилоТСния, рСализуя Ρ‚Π΅ΠΌ самым ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ систСму самодиагностики ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ модуля.

πŸ’‘

ИспользованиС PowerShell позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ GUID, Π½ΠΎ ΠΈ автоматичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° мноТСствС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ сСти, Ρ‡Ρ‚ΠΎ экономит часы Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

РСгистрация ΠΈ пСрСрСгистрация COM-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² 1Π‘

Π‘Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 1Π‘ сущСствуСт физичСски, Π½ΠΎ Π΅Π³ΠΎ GUID отсутствуСт Π² рССстрС ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅Ρ€Π½ΠΎ. Π­Ρ‚ΠΎ часто случаСтся послС обновлСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, сбоя установки ΠΈΠ»ΠΈ пСрСноса Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ диск. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ пСрСрСгистрации. Для клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ достаточно просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 1Π‘ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия, Π½ΠΎ для сСрвСрных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ явный Π²Ρ‹Π·ΠΎΠ² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ рСгистрации.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ инструмСнтом для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с DLL ΠΈ EXE сСрвСрами являСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° regsvr32.exe. Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 1Π‘ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ собствСнныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ рСгистрации Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки исполняСмого Ρ„Π°ΠΉΠ»Π°, Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ способом являСтся использованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° /regserver. Команда выполняСтся ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° установки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

"C:\Program Files\1cv8\8.3.22.1567\bin\1cv8.exe" /regserver

ПослС выполнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ систСма ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ обновляСт всС записи Π² рССстрС, связанныС с Π΄Π°Π½Π½ΠΎΠΉ вСрсиСй 1Π‘. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ восстанавливаСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ CLSID ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² срСдС Terminal Server ΠΈΠ»ΠΈ Citrix, эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ установки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (change user /install), Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡŒ ΠΊΠΎ всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

Команда / ДСйствиС НазначСниС Π’Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€Π°Π²Π° Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
1cv8.exe /regserver Полная пСрСрСгистрация ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Администратор ОбновлСниС всСх ΠΊΠ»ΡŽΡ‡Π΅ΠΉ рССстра
regsvr32 v83.dll РСгистрация ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Администратор Π’ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ DLL
Запуск Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ АвтоматичСская рСгистрация ΠΏΡ€ΠΈ стартС ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Базовая рСгистрация ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
1cv8.exe /unregserver Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записСй ΠΈΠ· рССстра Администратор ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ COM

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ПослС обновлСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ Π΄ΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΈΠ½ΠΎΡ€Π½ΠΎΠΉ вСрсии (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с 8.3.20 Π½Π° 8.3.21) старыС GUID ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ссли измСнилась внутрСнняя структура ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ВсСгда провСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² послС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.

Π’ΠΈΠΏΠΎΠ²Ρ‹Π΅ ошибки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… устранСния

Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ GUID Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ошибками ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Бамая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” нСсоотвСтствиС разрядности процСсса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ COM-сСрвСра. Если вашС внСшнСС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ процСсс, Π° 1Π‘ установлСна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² 32-Π±ΠΈΡ‚Π½ΠΎΠΉ вСрсии (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚), систСма выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ "Class not registered", хотя GUID Π² рССстрС присутствуСт.

Другая частая ошибка связана с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа DCOM. Π”Π°ΠΆΠ΅ Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ зарСгистрирован, настройки бСзопасности ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ запуск ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ консоль dcomcnfg, Π½Π°ΠΉΡ‚ΠΈ Π² спискС 1C:Enterprise 8.3 COM Server ΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ" Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€Π°Π²Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ скрипт ΠΈΠ»ΠΈ сСрвис.

  • πŸ›‘ Ошибка "ActiveX can't create object": ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ (x86/x64) прилоТСния ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘.
  • πŸ”’ Ошибка "Access denied": НастройтС ΠΏΡ€Π°Π²Π° запуска ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π² dcomcnfg.
  • πŸ“‰ Ошибка "Invalid class string": GUID ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ зарСгистрирован (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ /regserver).
  • πŸ•Έ БСтСвая ошибка: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ брандмауэр Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Ρ‹ DCOM.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… антивирусных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅. Если всС настройки Π²Π΅Ρ€Π½Ρ‹, Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ создаСтся, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ процСсс rphost.exe Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ событий Windows (Event Viewer) Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ" часто содСрТит ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ сбоя.

β˜‘οΈ Диагностика ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с COM

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

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

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ GUID для Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий 1Π‘?

НСт, это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ опасно. КаТдая вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Π΄Π°ΠΆΠ΅ Ρ€Π°Π·Π½Ρ‹Π΅ обновлСния ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свои особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйсов. Π₯отя ProgID (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, V83.COMConnector) часто остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ для обСспСчСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ CLSID ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. ИспользованиС GUID ΠΎΡ‚ старой вСрсии Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Π“Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ GUID для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Π±-сСрвисами 1Π‘?

Для Π²Π΅Π±-сСрвисов (HTTP/SOAP) концСпция COM ΠΈ GUID Π½Π΅ примСняСтся. Π’Π΅Π±-сСрвисы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ WSDL-описаниС ΠΈ URLs для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. GUID Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для локального COM-соСдинСния (OLE Automation). Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ 1Π‘ Ρ‡Π΅Ρ€Π΅Π· HTTP, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ рССстра.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ OLE Viewer Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 1Π‘?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π±Π΅Π· ΠΏΡ€Π°Π² администратора, Π»ΠΈΠ±ΠΎ установлСна вСрсия 1Π‘, нСсовмСстимая с Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ OLE Viewer. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 32-Π±ΠΈΡ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OLE Viewer для поиска 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘ Π½Π° 64-Π±ΠΈΡ‚Π½ΠΎΠΉ систСмС.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ IID (Interface ID) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°?

IID интСрфСйса ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ рССстра, Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅ Interface, Π»ΠΈΠ±ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OLE Viewer, экспортировав ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² IDL-Ρ„Π°ΠΉΠ». Для стандартных интСрфСйсов 1Π‘ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, IComConnector) IID ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ стабилСн, Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ½ гСнСрируСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ.

ВлияСт Π»ΠΈ язык интСрфСйса 1Π‘ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ GUID?

НСт, язык интСрфСйса (русский, английский ΠΈ Ρ‚.Π΄.) Π½Π΅ влияСт Π½Π° тСхничСский GUID. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ константами ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Однако ProgID ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ описания Π² рССстрС, Π½ΠΎ сам ΠΊΠ»ΡŽΡ‡ доступа остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ.