Добрый день!
Суть поставленной задачи - починить автоматическое обновление конфигурации БП 3.0. Именно в автоматическом режиме без использования конфигуратора.
Что имеем:
На терминальном сервере windows server 2013 R2 - установлена Платформа 8.3.19.1467. Имеем файловую БД с Бухгалтерия предприятия, редакция 3.0 (3.0.106.60) . Данную конфигурацию нужно обновить автоматическом режиме до 3.0.111.16. Раньше база была опубликована на IIS но сейчас такой доступ не используется (если это важно).
Для обновления программа запускается с правами администратора, от локального администратора системы. Но при выполнении обновления, а именно при удалении патчей возникает ошибка: https://ibb.co/NgRvj6Q Обновление пробовал делать как только конфы так и конфы с установкой патчей.
Открываю данный скрипт и вижу, что ошибка в записи строки в логи при обработке исключения. Т.е. код попал на исключение и отработать его не смог. (записать причину исключения). На этапе выполнения не получилось выполнить "Создание объекта COM-соединителя"
Вот весь отрывок из скрипта на котором ошибка:
try {
if (outf != null) {
outf.WriteLine(mainEvent + ": Создание объекта COM-соединителя...")
}
COMConnector = new ActiveXObject(COMConnectorName)
} catch (ex) {
if (outf != null) {
outf.WriteLine(mainEvent + ": Ошибка создания объекта COM-соединителя: " + ex.message)
}
WScript.Quit(1)
}
Показать
Строка
outf.WriteLine(mainEvent + ": Ошибка создания объекта COM-соединителя: " + ex.message)
- как раз строка под номером 61.
Вот сам лог обновления:
???????? ?????????: ??????????? ???????????, ???????? 3.0
?????? ?????????: 3.0.106.60;
?????? ????????? 1?:???????????: 8.3.19.1467 Windows x86-64;
?????? ?????????? ??????????? ?????????: 3.1.5.274;
???????????? ???????: Microsoft Windows 8.1 version 6.3 (Build 9600);
?????? ??????????? ??????: 16 039;
??? COM ???????????: v83.COMConnector;
???????: ???
???????????? ????????????: ??
???????: ???
???????????? ????????: ???
19.04.2022 22:21:43 {OK} Используется COM соединение: true
19.04.2022 22:21:43 {OK} Запускается: regsvr32.exe; параметры: /n /i:user /s "C:\Program Files\1cv8\8.3.19.1467\bin\comcntr.dll"; окно: SW_HIDE; ожидание: true
19.04.2022 22:21:43 {OK} Код возврата: 0
19.04.2022 22:21:43 {OK} Файл скрипта: C:\Users\Administrator\AppData\Local\Temp\2\1Cv8Update.220419222142\splash.ht
19.04.2022 22:21:43 {OK} Количество файлов обновления: 2
19.04.2022 22:21:43 {OK} 1. C:\Users\Administrator\AppData\Roaming\1C\1Cv8\tmplts\1c\Accounting\3_0_109_29\1cv8.cfu
19.04.2022 22:21:43 {OK} 2. C:\Users\Administrator\AppData\Roaming\1C\1Cv8\tmplts\1c\Accounting\3_0_111_16\1cv8.cfu (Обязательная)
19.04.2022 22:21:44 {OK} Завершение работы пользователей...
19.04.2022 22:21:47 {OK} Создание резервной копии информационной базы...
19.04.2022 22:21:48 {OK}
Выполняется копирование из:
F:\WORK\UT\1Cv8.1CD
в:
C:\Users\Administrator\AppData\Local\Temp\2\1Cv8Update.220419222142\1Cv81650381703515.1CD
19.04.2022 22:21:54 {OK} Резервная копия базы создана
19.04.2022 22:21:57 {OK} Удаление исправлений (патчей)...
19.04.2022 22:21:58 {OK} Запускается: wscript.exe; параметры: "C:\Users\Administrator\AppData\Local\Temp\2\1Cv8Update.220419222142\add-delete-patches.js" /ConnectionString:"File='F:\WORK\UT';Usr='Администратор';Pwd='******';UC=ПакетноеОбновлениеКонфигурацииИБ" /COMConnectorName:"v83.COMConnector" /Action:"RemoveAll" /Out:"C:\Users\Administrator\AppData\Local\Temp\2\1Cv8Update.220419222142\templog.txt"; окно: SW_HIDE; ожидание: true
19.04.2022 22:29:58 {ERR} Код возврата: 1
19.04.2022 22:29:58 {OK} Не удалось удалить исправления конфигурации. Подробности см. в предыдущей записи.
19.04.2022 22:29:59 {ERR} Завершение с ошибкой. Код ошибки: 1. Подробности см. в предыдущей записи.
19.04.2022 22:29:59 {OK} Завершение...
19.04.2022 22:29:59 {OK} Начат сеанс внешнего соединения с ИБ
19.04.2022 22:30:09 {OK} СоединенияИБ.РазрешитьРаботуПользователей()
19.04.2022 22:30:14 {OK} Начат сеанс внешнего соединения с ИБ
19.04.2022 22:30:21 {OK} ОбновлениеКонфигурации.ЗавершитьОбновление(false, , Администратор)
19.04.2022 22:30:23 {ERR} Ошибка при обновлении информационной базы
19.04.2022 22:30:23 {OK} Запускается: C:\Program Files\1cv8\8.3.19.1467\bin\1cv8c.exe; параметры: ENTERPRISE /F"F:\WORK\UT" /N"Администратор" /P"******" /WA- ; окно: SW_SHOW; ожидание: false
19.04.2022 22:30:23 {OK} Код возврата: 0
Скрытый текст
регистрация comcntr.dll - после обновления платформы - была выполнена.
В службах компонентов приложения COM для 1С изначально вообще не было. Создал его вручную. указал comcntr.dll, назвал компоненту v83.COMConnector - как в логе. Но это не помогло.
Удаление перерегистрация компоненты не помогла.
В журналах Windows нет не каких записей связанных с данной проблемой, кроме записи о том что обновление не было выполнено.
Так как скрипт должен удалить патчи. проверил подключенные к конфигурации расширения - они отсутствуют.
Больше идей нет. Помогите кто чем может)
Не очень разбираюсь в терминальных серверах, но установка платформы от администратора и на локальных машинах и на сервере регистрирует библиотеку так как надо. На каких серверах и локальных машинах приходилось заходить в редактирование регистра и поиском искать comcntr.dll после чего менял версию платформы (папку откуда её брать) на правильную.
Иногда конфигурация, в которой включена возможность изменения, не обновляется. Надо её обратно выключить.
А что Вы подразумеваете под "включена возможность изменения" - изменение чего?
По comcntr.dll - она зарегистрирована в системе верно. Проверил regdllviewer-ом.
эта ошибка появляется, если в русской винде, для программ не поддерживающих юникод, указан английский язык вместо русского.
и ещё пакет локализации винды переустановить не помешает.