Настройка системы 09.10.2017 09:39 39481

Для доступа к информационной базе из внешней программы используется COM объект COMConnector. В зависимости от версии платформы используется V82.COMConnector или V83.COMConnector. При установке платформы 1С, в операционной системе автоматически регистрируется класс COMConnector. Если по каким либо причинам регистрация не прошла, то его можно зарегистрировать вручную.

Пример по работе с базой 1С через COM соединение можно посмотреть в другой статье.
Если COMConnector не зарегистрирован в Windows, то при программном создании объекта будет появляться ошибка:
Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован.

Регистрацию можно выполнить с помощью командной строки. Для того чтобы открыть командную строку в Windows 7 или Windows 10 нужно в строке поиска в меню "ПУСК" набрать cmd. Для Windows 8 в "Стартовом окне" в поиске набрать cmd. Запустить cmd.exe с правами администратора.

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

cd c:program files — в каталог program files
cd — в корень диска
с: — на диск c
cd.. — на один уровень выше

Windows (x64)

Для того чтобы зарегистрировать ComConnector в 64 разрядной операционной системе Windows выполняется
команда: C:WindowsSysWOW64
egsvr32 "C:Program Files (x86)1cv88.3.9.2233incomcntr.dll"

c:WindowsSystem32>
c:WindowsSystem32>cd c:WindowsSysWOW64
c:WindowsSysWOW64>
c:WindowsSysWOW64>regsvr32 "c:program files (x86)1cv88.3.9.2233incomcntr.dll"
.
Деинсталяция
c:WindowsSysWOW64>regsvr32 "c:program files (x86)1cv88.3.9.2233incomcntr.dll" /u

Windows (x32)

Для 32 разрядной операционной системы Windows выполняется
команда: C:WindowsSystem32
egsvr32 "C:Program Files (x86)1cv88.3.9.2233incomcntr.dll"

c:WindowsSystem32>
c:WindowsSystem32>regsvr32 "c:program files (x86)1cv88.3.9.2233incomcntr.dll"
.
Деинсталяция
c:WindowsSystem32>regsvr32 "c:program files (x86)1cv88.3.9.2233incomcntr.dll" /u

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

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

Если фоновый процесс COM-соединения оканчивается ошибкой

<Обработка.ОбменДаннымиXML.МодульОбъекта(15947)>: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string

, то нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.

В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:Program Files (x86)1cv88.3.5.1119incomcntr.dll»

но в 64-битной версии команда будет примерно такой * :
C:WindowsSysWOW64regsvr32 «C:Program Files (x86)1cv88.3.5.1119incomcntr.dll»

Затем перезайдите в 1С Предприятие и попробуйте установить COM-соединение снова.

* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u

** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше

6 комментариев на «Регистрация DLL в 64-битной версии Microsoft Windows Server. Библиотека ComConnector comcntr.dll»

Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.7.1873) отличается от версии корневого модуля ‘core83’ (8.3.9.1850)

В поставке 1С 8.3 есть ярлык «Регистрация утилиты администрирования серверов x86-64», который ведёт к файлу RegMSC.cmd .
Берём этот файл и меняем в нём строку radmin.dll на comcntr.dll.
Далее запускаем его от имени администратора. Всё.

4. Вручную выполнить регистрацию компоненты C:Program Files (x86)1cv88.3.14.1343incomcntr.dll
• Заходим в Панель управления — Администрирование — Службы компонентов.
• Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
• В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
• Нажимаем «Далее».
• Выбираем «Создать новое приложение».
• Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
• На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
• Нажимаем «Готово».
• В появившейся ветке V83COMConnector переходим к подветке Компоненты.
• В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
• Нажимаем «Далее».
• Выбираем «Установка новых компонентов».
• Выбираем файл incomcntr.dll.
• Нажимаем «Далее» — «Готово».
• Переходим к ветке V83COMConnector.
• В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
• Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
• Нажимаем «ОК».

«»но в 64-битной версии команда будет примерно такой * :
C:WindowsSysWOW64
egsvr32 «C:Program Files (x86)1cv88.3.5.1119incomcntr.dll»»»

Скорее вот так, 64 bit лежит C:Program Files:

C:WindowsSysWOW64
egsvr32 «C:Program Files1cv88.3.XX.XXXXincomcntr.dll»

Добрый день.
Столкнулся с проблемой, когда РДС сервер работает с разными платформами 1С и на него нужно поставить 2 разные компоненты, которые бы работали одновременно. КАк это можно реализовать?

Ситуации, когда компьютерное устройство эксплуатируется не только в игровых целях, или для проведения интересного досуга, но и в рабочих моментах, зачастую предполагают эксплуатацию специального программного обеспечения, предназначенного для выполнения конкретных задач. В этой статье расскажем о ситуации, когда при использовании компьютера предполагается потребность подключения через соединение формата COM, к серверным базам данных программы 1C, что изначально обуславливает необходимость присутствия на рабочем устройстве в качестве исполнительного модуля библиотеки comcntr.dll. Прецеденты с библиотекой COM, прямым предназначением которой является внешнее подключение к программным ресурсам, – крайне редкое явление, так как, по умолчанию, регистрация компоненты comcntr.dll происходит в автоматизированном режиме: задействовав для своей работы актуальный модуль версии 1C приложения. Рассмотрим ситуации, преимущественно возникающие на серверных ОС, когда при попытке соединения с базой возникают ошибки, связанные с объектами библиотеки comcntr.dll.

Регистрация компоненты comcntr.dll.

Специфика проявления ошибки

Проверить исправность работы программы 1C можно посредством следующих несложных манипуляций:

  1. В окне рабочего приложения нажать кнопку «Проверить настройки», расположенную внизу экрана, с параллельным удержанием клавиши Shift.
  2. Проанализировать результат, который будет высветлен в окне под названием «Вывод отладочной информации для разработчиков».

Когда в работе программы 1C присутствует ошибка, связанная с реестром comcntr.dll, в отчёте будет присутствовать надпись, изъявляющаяся текстом, в котором указывается, что при попытке соединиться с сервером не удалось зарегистрировать модуль COM, или аналоговая фраза, с похожим смыслом. В идеале, когда все объекты для работы с базой присутствуют, при запросе отладочной информации пользователь получит ответ, в конце которого будет прописано «Подключение к базе прошло успешно». Если пользователю программы пришлось столкнуться с первым вариантом развития событий, значит, прецедент с модулем COM присутствует, что предполагает поиск источника неисправности с последующим устранением неполадки, о чём и пойдёт речь дальше.

Суть ошибки и методология её устранения

Если при попытке взаимодействия с платформой 1C возникает ошибка, заключающаяся в модуле COM, то причину неисправности стоит искать в библиотеке comcntr.dll, которая по умолчанию должна присутствовать в папке bin, имеющейся в составе эксплуатируемой программы. Зачастую регистрация библиотеки происходит на автоматических началах, совместно с инсталляцией платформы в систему эксплуатируемого компьютерного устройства. Кроме автоматической регистрации, программа, при установке и подключении к внешней базе данных, самостоятельно активизирует команду regsvr32.exe/n/i: user «адрес к папке bin/ comcntr.dll». Соответственно, если при попытке выполнить корректное соединение у пользователя возникают проблемы, значит, утилите не удалось автоматически по каким-то причинам, техническим или программным, зарегистрировать актуальный модуль библиотеки.

Для начала стоит попытаться устранить неисправность, запустив приложение от имени администратора. Для этого потребуется, кликнув по пиктограмме программы правой кнопкой манипулятора, вызвать ниспадающее меню, в котором выбрать позицию «Запуск от имени администратора». Дальше необходимо попробовать в этом режиме проверить настройки приложения согласно описанному в первом пункте статьи регламенту: иногда этот вариант борьбы с неисправностью даёт положительный результат, ошибка самоустраняется, и не появляется в последующем даже при работе программы в стандартном режиме. В ином случае, если работа 1C и дальше ограничивается отсутствием модуля COM, единственно правильным методом урегулирования прецедента будет регистрация отвечающей за функционирование программы библиотеки comcntr.dll в ручном формате.

Регистрация компоненты

Если программе при её установке не удалось зарегистрировать актуальную библиотеку comcntr.dll, пользователю придётся выполнить манипуляцию самостоятельно, активировав требуемые для работы программы компоненты из каталога инсталлированной версии утилиты. Для выполнения манипуляции изначально требуется узнать разрядность операционной системы ПК, на котором установлена программа. Для этого необходимо зайти в «Свойства» компьютера, кликнув по соответствующей пиктограмме на рабочем столе, где в поле «Тип системы» будет прописана искомая информация. Дальше потребуется активизировать командную консоль с привилегиями администратора, где задать следующие директивы:

  1. В 32-разрядной системе прописывается маршрут C:/Program Files (X86)/1cv8/номер релиза/bin>regsvr32 comcntr.dll.
  2. На устройствах, работающих на ОС, с разрядностью 64 бита, применяется установка C:/Windows/SysWOW64>regsvr32 «C:/Program Files (X86)/1cv8/ / bin/ comcntr.dll».

В качестве «номер релиза» и в первом, и во втором случае выступает код текущего релиза, соответствующий номеру эксплуатируемой платформы программы. После введения команд достаточно нажать клавишу Enter, после чего на экране должно появиться окно с надписью «Успешное выполнение…», что будет свидетельствовать о корректности выполнения манипуляций. Дальше потребуется зарегистрировать компоненты comcntr.dll на сервере:

  1. Для начала пользователю необходимо через позицию «Администрирование» в меню «Пуск» зайти в раздел «Службы компонентов», с последующим вызовом задачи «Создать» в реестре «Приложения COM».
  2. Через команду «Создать» активируем позицию «Приложение», после чего исполнителю работ развернётся «Мастер установки приложений COM», где посредством нажатия «Далее» открывается консоль «Установка или создание нового приложения».
  3. В открывшемся окне выбираем задачу «Создать новое приложение», после чего в следующей вкладке задаём название создаваемого компонента, параллельно отметив в консольном окне «Способ активации» позицию «Серверное приложение».
  4. После подтверждения команд кнопкой «Далее» пользователю откроется консоль под названием «Учётная запись», где надо отметить позицию «Текущий пользователь», что позволит после перехода в следующее окно и нажатия кнопки «Готово» завершить процесс.
  5. В результате программа вернёт пользователя в исходную позицию, а именно в раздел «Службы компонентов», где во вкладке «Приложения COM» будет присутствовать новый компонент с заданным ему ранее именем.
  6. Теперь потребуется открыть ветку сформированного модуля, перейти в раздел «Компоненты», посредством нажатия на позиции правой клавишей манипулятора, выбрать задачу «Создать», и щёлкнуть по строке «Компонент».
  7. В развернувшемся окне «Мастер установки компонентов COM» путём нажатия кнопки «Далее» осуществляется переход к разделу «Установка новых компонентов», где активируется обусловленная задача.
  8. Дальше потребуется через кнопку «Добавить» выбрать компоненты библиотеки comcntr.dll в папке bin, после чего последовательно нажать «Далее» и «Готово». Новая компонента будет отображаться в реестре «Службы компонентов».
  9. Нажав на названии новой компоненты надо зайти в её «Свойства», где в разделе «Безопасность» отметить позицию CreatorOwner, предварительно сняв галочку в окошке напротив надписи «Принудительная проверка доступа для приложений». Подтверждаются изменения кнопкой «ОК».

Послу выполненных манипуляций потребуется перезапустить систему. В результате программа самостоятельно начнёт регистрировать требуемые для работы компоненты всех вариаций платформ.