1CLenta.ru  

Программная регистрация comcntr.dll из 1С

Настройка системы     25.10.2018 12:39     12383

Для работы с COM объектом V83.COMConnector необходимо чтобы в операционной системе была зарегистрирована comcntr.dll. Если dll не зарегистрирована, то при попытке создания объекта будет возникать ошибка:
Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован.

Зарегистрировать comcntr.dll можно вручную, как описано в статье Регистрация ComConnector (comcntr.dll) в Windows 32 и 64 разрядной, или программно.

Программная регистрация comcntr.dll с помощью regsvr32.exe


Для регистрации dll программно, можно воспользоваться функцией глобального контекста ЗапуститьПриложение(). Данная функция позволяет выполнить запуск внешнего приложения с параметрами командной строки.

//Регистрация DLL для Windows

&НаКлиенте

Процедура ЗарегистрироватьDLL()
ЗарегистрироватьDLL32();
ЗарегистрироватьDLL64();
КонецПроцедуры


&НаКлиенте

Процедура ЗарегистрироватьDLL32()

СисИнфо = Новый СистемнаяИнформация;
ПутьDLL = "C:\Program Files (x86)\1cv8\" + СисИнфо.ВерсияПриложения + "\bin\comcntr.dll";
ЗапуститьПриложение("C:\Windows\System32\regsvr32.exe """ + ПутьDLL + """");

КонецПроцедуры


&НаКлиенте

Процедура ЗарегистрироватьDLL64()

СисИнфо = Новый СистемнаяИнформация;
ПутьDLL = "C:\Program Files (x86)\1cv8\" + СисИнфо.ВерсияПриложения + "\bin\comcntr.dll";
ЗапуститьПриложение("C:\Windows\SysWOW64\regsvr32.exe """ + ПутьDLL + """");

КонецПроцедуры

Комментарии (0)