Раньше все получалось, а теперь нет.
Установил платформу 8.3.12.1616. При запуске синхронизации УТ-БП выдается ошибка:
Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль(1093)}: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // "V83.COMConnector"
по причине:
-2147221164(0x80040154): Класс не зарегистрирован
Такое уже было и я решил зарегистрировать comcntr.dll. Запускаю от имени администратора bat-файл со строкой:
А мне выдается, чтобы я проверил, что двоичный файл находится на указанном пути, а я пути копировал (чтобы совсем без ошибок) из проводника. И почему не находится файл ?
Еще предлагается запустить отладку, а я не знаю как это делается :(
19.
user698184_bunegin
24.10.18 11:12 Сейчас в теме
(1)Нужно создать COMObject V83.COMConnector. На сервере где стоит БП. Уменя такое было пару недель назад. Поменял платформу 8.3.10.... на 8.3.12.1616. и после этого обмен УТ-БП упал.
Столкнулся еще с одной проблемой.
База на сервере. Работаем по RDP. После установки всех обновлений Windows со всех компьютерах, кроме одного, все заработало. Перерегистрация базы результата не дала. Нужно было еще сделать проверку подключения в параметрах подключения. Вот после этого и на последнем компьютере синхронизация пошла.
А для 2003-его сервера с установленным SP2 помогает установка соответствующего vc_redist.x86 или vc_redist.x64. Без этого регистрация в системе comcntr.dll не проходит.
Коллеги, также встретился с данной проблемой. Но все вышеперечисленное не помогло. БП 8.3.12, WinSrv2003 x64.
Ошибка вылетала при автоматических обновлениях в режиме предприятия.
Ошибка при регистрации компоненты comcntr.
Код ошибки regsvr32: -13
Не удалось подключится к другой программе: -2147467238(0x8000401A): Процесс сервера не может быть запущен, так как указана неправильная идентификация. Проверьте правильность указания имени пользователя и пароля.
Начал бороться пунктуально, под админом, правильно прописав путь к релизу, а также, поскольку система х64, верно прописывая путь к regsrv32:
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\*версия платформы*\bin\comcntr.dll» - все успешно, но не работает.
Далее накатил свежую платформу 8.3.15 - та же история. Написал в поддержку, отписали "Скорее всего как то не так регистрировали компоненту". Спасибо :)
Решить удалось следующим образом:
Панель управления => Администрирование => Cлужбы компонентов => приложения com+ => v83comconnector => свойства => закладка "удостоверение" => ввести данные доменной учетной записи.
(29) Была та же проблема на windows 10 Домашняя. v83comconnector в "Панель управления => Администрирование => Cлужбы компонентов => приложения com+ " отсутствовал, поэтому добавил службу компонентов вручную и назвал "v83comconnector", способ активации выбрал "Серверное приложение", на закладке "удостоверение" оставил "Текущий (вошедший в систему) пользователь". Далее добавил к этой службе компонентов новый компонент, где указал путь до библиотеки comcntr.dll в папке bin текущей версии платформы. Перезапустил 1ску и всё заработало! Спасибо за наводку.
Альфа-Авто и КА1 работали на 8.3.10.2466 платформе. Из Альфа-Авто могу открыть любой объект КА1, и отредактировать его. Теперь перешли на КА2, пришлось добавить платформу 8.3.14.1779. Вроде зарегистрировал: regsvr32 "c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll", получил сообщение: "Успешное выполнение DllRegisterServer в c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dl". А все равно при установки Com-соединения СисИнфо.ВерсияПриложения = "8.3.10.2466". Что ни так делаю, или СисИнфо.ВерсияПриложения не то показывает?
(31) Как он может прописан? Вроде нет принудительного запуска платформы 8.3.10.2466.
СисИнфо = Новый СистемнаяИнформация;
Сообщить("Начало подключения через COM-Объект " + СисИнфо.ВерсияПриложения + " " + ТекущаяДата(), СтатусСообщения.Информация);
БазаКА = Новый COMОбъект("V83.Application");
ТекCOMОбъект = БазаКА.Connect(СтрокаПодключения);
А вот:
Перед этим нужно отключить службу агента сервера 1С:Предприятия и все программы, использующие эту DLL.
это как, перезагрузить сервер?
А вообще интересное замечание (если конечно такое возможно?), иногда требуется соединиться с базой на другой платформе. Как выглядит этот принудительный запуск?
Компонента заренистрировалась на сервере, Windows Server 2008, с правами админа выполнил команду, вышло сообщение, что dll успешно зарегистрирована, но а активных пользователях все равно не могу удалить пользователя (завершить сеанс)
Выдает ошибку:
{ОбщийМодуль.АдминистрированиеКластераCOM.Модуль(182)}: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Если компонента "comcntr" не зарегистрирована или ее версия не совпадает с требуемой,
следует зарегистрировать ее на компьютере ... выполнив команду cmd с повышением привилегий UAC
для учетной записи ОС Windows, от имени которой выполняется 1С:Предприятие.
(35) службу 1С перезапустили?
Вот хорошая статья. 7 комментарий:
Уже сколько лет проблем нет...
1. Копируем файл RegCOM.cmd в папку bin с установленной платформой на сервере.
2. Запускаем скопированный файл RegCOM.cmd от имени администратора
3. Запускаем командную строку от имени администратора
4. Выполняем команду: regsvr32 /u "C:\Program Files\1cv8\X.X.XX.XXXX\bin\comcntr.dll"
5. Выполняем команду regsvr32 "C:\Program Files\1cv8\X.X.XX.XXXX\bin\comcntr.dll"
где X.X.XX.XXXX - релиз последней установленной платформы
Прикрепленные файлы:
RegCOM.cmd
Текст файла:
@set CS=CScript //nologo %TMP%\%~n0.vbs /REALTIME^>nul^ & del /Q %TMP%\%~n0.vbs&CLS
@ECHO off
title %~n0
SET CX=CLS^&EXIT
SET BS=^>%TMP%\%~n0.vbs
SET G=GOTO
SET H=shell&fsutil>NUL
IF %ERRORLEVEL% EQU 0 (
GOTO 2
) ELSE (
if not "%minimized%"=="" GOTO 1
)
SET minimized=true & start /min cmd /C "%~dpnx0"&%CX%
:1
ECHO SET %H%=CreateObject("%H%.Application"):%H%.%H%Execute "%~dpnx0",,"%CD%", "runas", 1 : SET %H%=nothing%BS%&%CS%&%CX%
:2
ECHO %~dpnx0 & regsvr32.exe /i:user "%~dp0comcntr.dll"&%CX%