Частая ошибка, решаемая банальной регистрацией comcntr.dll, но оказывается есть частные случаи, именно с таким я и столкнулся. Имеется сервер 2019, разработчик под учеткой с правами обычного пользователя получил такую ошибку. Что было предпринято:
- первое решение
- регистрация библиотеки требуемой версии платформы
- второе решение
- удалена регистрация билиотек других платформ (regsvr32.exe -u)
- зарегистрирована еще раз нужная
- третье решение
- удалены все платформы
- установлена требуемая по новой
- зарегистрирована библиотека
- перезагружен сервер
- От администратора выполняли регистрацию?
- А иначе нельзя! - хотел было сообщить я
- А иначе нельзя! - хотел было сообщить я
да и проверка занимает более необходимого (от 5 минут до суток), я засомневался в необходимости продолжения этой пытки и исключил из цепочки разарботчика
- В какой базе и при каких условиях возникает ошибка?
- База там то, а там то нужно нажать кнопку
- Ок
Открыл под своей учеткой, нажал кнопку и все работает. Дабы не прослыть дураком, открыл под тем пользователем и получил таки ту же ошибку. Так, оказывается ошибка возникает только в контексте пользователя.
Вот теперь есть с чем работать. Вспоминаю что у меня настроена политика ограниченного использования программ (SRP), захожу туда, там стоит только два ограничения - запуск из директорий %Userproffile%\Downloads\*\* и %Temp%\*\* (с разрешением определенных пакетов). Да и в основных настройках SRP (Software Restriction Policies) указано нацеливание только на исполняемые файлы, dll в счет не идут
- четвертое решение
- проверить SRP
- удалить SRP
- gpupdate /force
- выгнать пользователя и зайти по новой
Хрен, проблема остается, тут на инфостарте натыкаюсь на одну заметку, где упоминается SRP:
- пятое решение
- Администрирование - Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ - Создать приложение – Создать новое приложение – вводим имя "V83COMConnector" (переключатель "Серверное приложение") – Указанный пользователь (Администратор*)
- В "V83COMConnector" – Компоненты – создать новый компонент – Установка новых компонентов - %каталог 1С%\bin\comcntr.dll *
- Правой кнопкой по ветке "V83COMConnector" – Свойства – Безопасность – снимаем "Принудительная проверка доступа для приложений" - ставим "Применить политику программных ограничений" - Уровень ограничений "Неограниченный"
- Включаем SRP, а заодно и AppLocker (позволяет запретить группе пользователей cmd.exe, mmc.exe, taskmgr.exe)
- Перезаходим и проверяем
Собственно вот и решение - установить COM приложение. Есть только пара моментов (помечены звездочкой):
- Администратор - пользователь с админскими правами, если пароль сменит, то могут быть проблемы (как у служб или планировщика заданий)
- На каждую платформу придется создавать новое приложение
- На сервере RDP под учетками других пользователей выскакивала ошибка "метод объекта не обнаружен (connect)", решилась установкой на вкладке удостоверение, свойств коннектора, - "Локальная служба - встроенная учетная запись службы"
- Пункт 3 в моем случае привел к ошибке разделенного доступа к БД, даже указание кредов админа не помогло, но перевод режима активации (вкладка свойств коннектора) из серверного приложения в библиотечное - помогло.
UP 07/07/2023
Сегодня столкнулся с ошибкой "Точка входа в процедуру не найдена в библиотеке C:\Program Files\1cv8\8.3.18.1957\bin\comcntr.dll". Это как раз к вопросу о необходимости пересоздания приложения. После попытки обновить компонент, вылез сабж у пользователя не администраторского уровня.
Проход по пунктам выше показал, что половина пунктов блокирует предыдущие, в итоге текущий конфиг V83COMConnector (64 разрядная платформа) с включенным SPR без AppLocker:
- Общие
- Имя - V83COMConnector
- Безопасность
- Авторизация - выключена "Принудительная проверка доступа для приложения"
- Уровень доступа - "проверка доступа на уровне процесса и на уровне компонента"
- Политика программных ограничений - уровень ограничений - неограниченный
- Удостоверение
- Учетная запись - Указанный пользователь
- Активация
- Серверное приложение
Остальные параметры по умолчанию:
Плюс добавить компонент.
Комментариев нет:
Отправить комментарий