ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ 1Π‘ ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ°Ρ C++, C# ΠΈΠ»ΠΈ Delphi. Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .dll. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ ΠΌΠΎΠ³Π»Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ, ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows ΠΊΠ°ΠΊ COM-ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΡΠΎΡΠ΅ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠ°Π²Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ°. ΠΡΠΈΠ±ΠΊΠΈ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Π½Π΅ Π²ΠΈΠ΄ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ regsvr32.exe, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² Windows. ΠΠ΅Π· ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ 1Π‘ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π² 64-Π±ΠΈΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘ ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅. mismatch (Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅) ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ β ΡΠ°ΠΌΠ°Ρ ΡΠ°ΡΡΠ°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° 64-Π±ΠΈΡΠ½Π°Ρ Windows, Π½ΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ 32-Π±ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ 1Π‘, ΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π½ΡΠΆΠ½ΠΎ Π² 32-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅Π΅ΡΡΡΠ΅.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Win + Pause/Break ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ β Π‘ΠΈΡΡΠ΅ΠΌΠ° β Π ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ "Π’ΠΈΠΏ ΡΠΈΡΡΠ΅ΠΌΡ". ΠΡΠ»ΠΈ ΡΠ°ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΎ "64-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°", Π·Π½Π°ΡΠΈΡ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» .dll, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ COM-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ±ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ COM. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠΎΠΏΡΡΠΊΠ° Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ 64-Π±ΠΈΡΠ½ΡΡ DLL Π² 32-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ) ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ 0x8007000b. ΠΡΠ΅Π³Π΄Π° ΡΠ²Π΅ΡΡΠΉΡΠ΅ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° 1Π‘, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΠΎΠΈΡΠΊ ΡΡΠΈΠ»ΠΈΡΡ regsvr32 Π² ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΡΡ Windows
Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Windows ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΏΠ°ΠΏΠΊΠ°Ρ
. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΡΡ ΠΊ Π½Π΅ΠΉ ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ. Π 32-Π±ΠΈΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π»Π΅ΠΆΠΈΡ ΠΏΠΎ ΠΏΡΡΠΈ C:\Windows\System32\regsvr32.exe.
Π‘ΠΈΡΡΠ°ΡΠΈΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ Π² 64-Π±ΠΈΡΠ½ΡΡ
Windows ΠΈΠ·-Π·Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΠ°ΠΏΠΊΠ° System32 Π·Π΄Π΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 64-Π±ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π° Π΄Π»Ρ 32-Π±ΠΈΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠ°ΠΏΠΊΠ° SysWOW64. ΠΡΠΎ ΡΠ°ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΡΠ°Π½ΠΈΡΡ Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Π°ΡΠ° 1Π‘ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² 32-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π° 64-Π±ΠΈΡΠ½ΠΎΠΉ ΠΠ‘, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° SysWOW64. ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π² 64-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅Π΅ΡΡΡΠ΅, Π½ΠΎ 32-Π±ΠΈΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡ.
- π ΠΠ»Ρ 32-Π±ΠΈΡΠ½ΠΎΠΉ Windows:
C:\Windows\System32\regsvr32.exe - π ΠΠ»Ρ 64-Π±ΠΈΡΠ½ΠΎΠΉ Windows (ΠΏΠΎΠ΄ 64-Π±ΠΈΡΠ½ΡΠ΅ DLL):
C:\Windows\System32\regsvr32.exe - π ΠΠ»Ρ 64-Π±ΠΈΡΠ½ΠΎΠΉ Windows (ΠΏΠΎΠ΄ 32-Π±ΠΈΡΠ½ΡΠ΅ DLL):
C:\Windows\SysWOW64\regsvr32.exe
Π§ΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΠΎΡΠΊΡΡΡΡ Π½ΡΠΆΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Win+R ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ %systemroot%\SysWOW64 Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ 32-Π±ΠΈΡΠ½ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Π½Π° 64-Π±ΠΈΡΠ½ΠΎΠΉ ΠΠ‘.
ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°
ΠΡΠΎΡΠ΅ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°. ΠΠ΅Π· ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π·Π°ΠΏΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ΅Π΅ΡΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Windows. Π‘Π½Π°ΡΠ°Π»Π° ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π²Π°Ρ ΡΠ°ΠΉΠ» .dll Π² ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠ΅Π½Ρ Π΄ΠΈΡΠΊΠ° C ΠΈΠ»ΠΈ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠ΅Π½Ρ "ΠΡΡΠΊ", Π²Π²Π΅Π΄ΠΈΡΠ΅ Π² ΠΏΠΎΠΈΡΠΊΠ΅ cmd, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° "ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°" ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ°ΠΏΡΡΠΊ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cd, Π»ΠΈΠ±ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΈΠ»ΠΈΡΡ.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π² ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΡΠ½ΠΎΡΡΠΈ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΡΠ΅ΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π² Π½ΠΈΡ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅ΡΠ΅ΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ.
regsvr32 "C:\Components\MyExternalLibrary.dll"
ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Enter ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ DllRegisterServer Π²Π½ΡΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ "DllRegisterServer ... Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ".
βοΈ Π§Π΅ΠΊ-Π»ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΊΠΎΠ΄Π°ΠΌΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°. Π‘Π°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° β 0x80070005, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ "ΠΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄ΠΎΡΡΡΠΏΠ΅". ΠΡΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π° Π±Π΅Π· ΠΏΡΠ°Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°.
ΠΡΡΠ³Π°Ρ ΡΠ°ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΠΎΡΠΈΠ±ΠΊΠ° 0x80040201 ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½, Π½ΠΎ ΡΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°. ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ COM-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ½ΠΎΠ³Π΄Π° Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ DLL, ΡΡΠΈΡΠ°Ρ ΠΈΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π·Π°ΡΠΈΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ.
| ΠΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ | ΠΠ΅ΡΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ |
|---|---|---|
| 0x80070005 | ΠΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄ΠΎΡΡΡΠΏΠ΅ | ΠΠ°ΠΏΡΡΡΠΈΡΡ cmd ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° |
| 0x8007000b | ΠΠ΅Π²Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡ exe ΠΈΠ»ΠΈ dll | ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ (32/64 Π±ΠΈΡ) |
| 0x80040201 | ΠΠ»Π°ΡΡ Π½Π΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ | ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ DllRegisterServer Π² ΡΠ°ΠΉΠ»Π΅ |
| 0x80004005 | ΠΠ΅ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° | ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ DLL ΡΠ΅ΡΠ΅Π· Dependency Walker |
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Dependency Walker Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ°ΠΉΠ»Π°. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ DLL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΡΠΈΠΈ Visual C++ Redistributable), ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ DCOM
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° ΡΠ΅ΡΠ²ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ β ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ COM-ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ°Π²Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π‘Π»ΡΠΆΠ±Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ dcomcnfg.exe ΡΠ΅ΡΠ΅Π· ΠΎΠΊΠ½ΠΎ "ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ" (Win + R). Π Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΠΏΡΡΠΈ Π‘Π»ΡΠΆΠ±Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² β ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡ β ΠΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ β ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° DCOM. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²Π°Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ CLSID.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ "ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ". ΠΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 1Π‘ ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Π΅ΠΌΡ ΠΏΡΠ°Π²Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ CLSID ΠΈ Π³Π΄Π΅ Π΅Π³ΠΎ Π½Π°ΠΉΡΠΈ?
CLSID (Class ID) β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° COM. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΠ΅Π΅ΡΡΡΠ΅ Windows ΠΏΠΎ ΠΏΡΡΠΈ HKEY_CLASSES_ROOT\CLSID ΠΈΠ»ΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π ΡΠΏΠΈΡΠΊΠ΅ DCOM ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎ-readable ΠΈΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ΄Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ GUID.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ 1Π‘
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ°Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ 1Π‘ Π²ΠΈΠ΄ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ Π² ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π»ΡΠ±ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΠΎΠ²ΡΠΉ("ΠΠΌΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°") ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΠΠ½Π΅ΡΠ½ΡΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, Π·Π½Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠ»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ COM-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ProgID, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΡΠ΅Π΅ΡΡΡΠ΅. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° "ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°" ΠΈΠ»ΠΈ "ΠΠ±ΡΠ΅ΠΊΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½", ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ°Π² DCOM ΠΌΠΎΠ³ΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΡΡ Windows (10, 11, Server 2016/2019/2022). ΠΡΠ΅Π³Π΄Π° ΡΠ²Π΅ΡΡΠΉΡΠ΅ΡΡ Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Microsoft ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΠ‘.
Π£ΡΠΏΠ΅ΡΠ½Π°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ DLL β ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³. ΠΠ΅Π· ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° Π² DCOM ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° 1Π‘ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ (FAQ)
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ DLL Π±Π΅Π· ΠΏΡΠ°Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°?
ΠΠ΅Ρ, ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ COM-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²Π΅ΡΠΊΡ ΡΠ΅Π΅ΡΡΡΠ° HKEY_CLASSES_ROOT. ΠΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠΠ±Ρ ΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ, ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ regsvr32 Π³ΠΎΠ²ΠΎΡΠΈΡ "ΠΠΎΠ΄ΡΠ»Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½, Π½ΠΎ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°"?
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π½Π΅ COM-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Π’Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· regsvr32. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ Π² 1Π‘ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΎΠΊ ΡΠ΅ΡΠ΅Π· C# ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±Π΅ΡΡΠΊΡ, ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡΡΡΡ COM-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ?
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π΅ΡΡΡΠ΅ Π²ΡΡΡΠΏΠ°ΡΡ Π² ΡΠΈΠ»Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ 1Π‘ Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ° rphost ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Π‘ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΡΡΠ° COM-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠ΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ DLL Π² ΡΠ΅Π΅ΡΡΡΠ΅?
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Ρ
ΡΠ°Π½ΡΡΡΡ Π² Π²Π΅ΡΠΊΠ΅ HKEY_CLASSES_ROOT\CLSID. Π’Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ
. ΠΠ»Ρ 32-Π±ΠΈΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° 64-Π±ΠΈΡΠ½ΠΎΠΉ ΠΠ‘ ΠΏΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΈΠ·-Π·Π° ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡΠ° ΡΠ΅Π΅ΡΡΡΠ°.