пятница, 13 января 2017 г.

1С MSScriptControl: Class not registered

ОС: Windows Server 2012R2. Сервер 1С x64 8.3.9.2033.Клиент 1С:Предприятие 8.3 (8.3.9.2033)

Получил ошибку в 1С:

Модуль: ScrptCtrl = Новый COMОбъект(«MSScriptControl.ScriptControl»);
{ Ошибка при вызове конструктора (COMОбъект)
Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl"); 
по причине: -2147221164(0x80040154): Class not registered 

Решение:
  1. Запустил консоль «Службы компонентов» (%windir%\system32\comexp.msc)
  2. В ветке Приложения COM+ добавл новое приложение:  Создать -> Приложение
  3. На вопрос «Установка или создание нового приложения» — выбрал «Создать новое приложение».
  4. Имя нового приложения лучше написать чтобы было понятно о чем речь: «1С_ScriptControl», способ активации — «серверное приложение».
  5. Учетная запись для запуска приложения: Локальная служба — встроенная учетная запись службы.
  6. При запросе членов Роли CreatorOwner, помимо существующей учетной записи, добавил туда System и учетную запись под которой работает сервер 1С.
  7. В ветке созданного приложения перешел на «Компоненты» и создал компонент: Создать -> Компонент
  8. В мастере «Установка компонентов COM+», выбрал «Импорт уже зарегистрированных компонентов». На шаге «Выбор компонентов для импорта» поставил флаг 32 разряда, нашел «MSScriptControl»
взято отсюда: http://osergey.ru/ru/tag/msscriptcontrol/