Харьковская 2а
г. Омск
+7 (913) 961-38-13
+7 (3812) 29-01-00
заказать звонок
Задать вопрос?
Корзина
0

Регистрация COM компоненты 1С Предприятия comcntr.dll {V83.ComConnector}

Библиотека V83.ComConnector используется утилитой Effector Saver для управления подключениями к информационным базам сервера 1С:Предприятие. Как правило, данная библиотека регистрируется в системе автоматически в процессе установки платформы 1С. Однако в некоторых случаях автоматическая регистрация может не произойти, что требует выполнения данной процедуры вручную.

О необходимости ручной регистрации библиотеки могут свидетельствовать следующие сообщения об ошибках:

  • Ошибка отключения пользователей базы 1С: «Недопустимая строка с указанием класса, ProgID: «V83.ComConnector»».
  • Ошибка соединения с кластером 1С: «Ошибка при загрузке библиотеки».
  • Ошибка соединения с кластером 1С: «Не найден указанный модуль, ProgID: «V83.ComConnector»».
  • Ошибка обмена между информационными базами: «-2147221005 (0x800401F3): Недопустимая строка с указанием класса».

Для регистрации библиотеки необходимо выполнить команду в командной строке Windows. Командная строка открывается путем ввода cmd в строке поиска меню «Пуск».

Синтаксис командной строки Windows

cd c:\program files – в каталог program files
cd\ - в корень диска
c: - на диск c
cd.. – на один уровень выше
рис 1.png

Windows (x64)

Для того чтобы зарегистрировать ComConnector в 64-разрядной операционной системе Windows выполняется команда:

C:\Windows\SysWOW64\regsvr32 "C:\Program Files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll"

Пример выполнения:

c:\Windows\System32>
c:\Windows\System32>cd c:\Windows\SysWOW64
c:\Windows\SysWOW64>
c:\Windows\SysWOW64>regsvr32 "c:\program files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll"

Деинсталяция

c:\Windows\SysWOW64>regsvr32 "c:\program files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll" /u

Windows (x32)

Для 32-разрядной операционной системы Windows выполняется команда:

C:\Windows\System32\regsvr32 "C:\Program Files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll"

Пример выполнения:

c:\Windows\System32>
c:\Windows\System32>regsvr32 "c:\program files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll"

Деинсталяция

c:\Windows\System32>regsvr32 "c:\program files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll" /u

После успешного выполнения появится оповещение.

рис 2.png

Автоматизированное решение

Данный способ является наиболее быстрым и автоматизированным. На компьютере, где необходимо зарегистрировать компоненты, просто запускаете готовый скрипт Register-1C-Comcntr.ps1 под правами администратора.

Утилита сама проверит какая версия 64x или 86x у вас установлена, определит последнюю платформу и зарегистрирует библиотеку.

Код утилиты:

# PowerShell-скрипт для регистрации comcntr.dll последней версии 1С с логированием
# Запускать от имени администратора!

# Папки, где может быть установлена 1С
$basePaths = @(
"C:\Program Files (x86)\1cv8",
"C:\Program Files\1cv8"
)

# Путь к лог-файлу рядом с .ps1
$logFile = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Path) "Register-1C-Comcntr.log"

function Write-Log {
param([string]$message)
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$entry = "$timestamp `t $message"
Write-Host $entry
Add-Content -Path $logFile -Value $entry
}

$allVersions = @()

foreach ($basePath in $basePaths) {
if (Test-Path $basePath) {
$versions = Get-ChildItem -Path $basePath -Directory |
Where-Object { $_.Name -match "^\d+\.\d+\.\d+\.\d+$" } |
Select-Object @{Name="FullName";Expression={$_.FullName}},
@{Name="Version";Expression={[Version]$_.Name}},
@{Name="Name";Expression={$_.Name}},
@{Name="BasePath";Expression={$basePath}}

$allVersions += $versions
}
}

if ($allVersions.Count -eq 0) {
Write-Log "❌ Не найдено ни одной установленной версии 1С!"
exit 1
}

# Сортируем по версии, берем последнюю
$latest = $allVersions | Sort-Object Version -Descending | Select-Object -First 1
$comcntrPath = Join-Path $latest.FullName "bin\comcntr.dll"

if (-Not (Test-Path $comcntrPath)) {
Write-Log "❌ Файл comcntr.dll не найден в $comcntrPath!"
exit 1
}

# Получаем версию файла DLL
$dllVersion = (Get-Item $comcntrPath).VersionInfo.FileVersion

# Определяем тип платформы (x86 или x64)
$platformType = if ($latest.BasePath -like "*x86*") { "x86 (32-bit)" } else { "x64 (64-bit)" }

# Вывод и логирование информации
Write-Log "✅ Найдена последняя версия 1С: $($latest.Name)"
Write-Log "???? Папка установки: $($latest.BasePath)"
Write-Log "???? Тип платформы: $platformType"
Write-Log "???? Путь к DLL: $comcntrPath"
Write-Log "ℹ️ Версия comcntr.dll: $dllVersion"

# Регистрируем DLL тихо
try {
Start-Process "regsvr32.exe" -ArgumentList "/s `"$comcntrPath`"" -Verb RunAs -Wait
Write-Log "✅ comcntr.dll успешно зарегистрирован."
} catch {
Write-Log "❌ Ошибка при регистрации comcntr.dll: $_"
exit 1
}

Скачать скрипт регистрации DLL

Заказать консультацию

Оставьте свои контакты и мы свяжемся с вами в ближайшее время