Скрипт vbs для v83.COMConnector падает: Прекращена работа программы script host #774801


#0 by vi0
В vbs выполняю следующее: Появляется окно с ошибкой "Прекращена работа программы microsoft windows based script host" Если оставить только первую строку - ошибок нет. Если выполнять на Windows XP - ошибок нет. В какую сторону копать?
#1 by Звездец
предлагаю лог системы посмотреть для начала
#2 by vi0
какой именно лог и где его смотреть?
#3 by vi0
вот что написано в Журналы WindowsПриложения Путь сбойного приложения: C:WindowsSystem32WScript.exe Путь сбойного модуля: C:Program Files1cv88.3.5.1517infiledb.dll Подозреваю, что это связано со следующими событиями: 1) До этого создание COMConnector из скрипта вызывало ошибку "Невозможно создание объекта контейнером activex v83.comconnector". Хотя его создание из программного кода 1С выполнялось корректно. 2) Я установил 1CEnterprise 8 Server (x86-64).msi. После этого эта ошибка снялась, но появилась новая - см топик. Журнал Виндовс как раз показывает на каталог с 64 приложениями (Program Files), а конкретно на библиотеку filedb.dll Как эту информацию можно использовать?
#4 by vi0
Вероятно дело в том, что WScript 32-разрядный Если запускать явно C:WindowsSysWOW64WScript.exe то ошибки нет. Но что-то мне эта тема не нравится. Почему 1С создает 32x COMConnector, а у скрипта ошибка "Невозможно создание объекта контейнером activex"?
#5 by hhhh
ну, глупо ожидать что 32х разрядная программа вдруг выдаст 64х разрядный скрипт.
#6 by vi0
как скрипт может быть 64разрядным? Вопрос такой на данный момент: Как сделать, чтобы операционка создавала COMConnector 32разрядный при запуске скрипта, также как это делает 1С если из ее програмного кода создавать COMConnector?
#7 by vi0
думал, может v83.Application использовать, а не v83.COMConnector, но там тоже засада - если уже открыт к.н. сеанс в файловой базе, то второй должен быть той же версии, иначе ошибка а v83.Application явно версию 1с задавать не позволяет
#8 by Звездец
И чем тебе это не нравится? Хочешь универсальности, то сначала определи битность, а потом запусти нужный
#9 by vi0
не нравится тем, что это будет работать на удаленных точках и должно работать автономно надежно ничего слетать "само" не должно ну и настойки минимальные первоначальные
#10 by Звездец
Так и не надо никаких настроек. Систему определил и нужный дергнул
#11 by Beretta
Есть подозрение, что все это можно на том же 1с и написать
#12 by Звездец
Так проблемы не будет скорее всего, неинтересно
#13 by vi0
нужно прозрачно для пользователя делать вот мои еще мои попытки
#14 by Звездец
что значит прозрачно для пользователя? чем фоновое задание не устраивает?
#15 by Звездец
окно не отображаемое, и будут пользователь комп выключать пока процесс не завершился
#16 by vi0
> что значит прозрачно для пользователя? нужно минимизировать раздражители для пользователя в виде окон > чем фоновое задание не устраивает? клиент-серверная база в клиентском контексте должна запустить ряд запусков файловой базы если использовать фоновые задания то они будут на сервере
#17 by Звездец
файловые базы где лежат?
#18 by vi0
локально
#19 by vi0
пока что все больше склоняюсь к запуску командной строкой смущает здесь открытие заставки 1с и сложность с передачей результата запуска завершенного процесса 1с для последующего процесса Например, что РИБ пришел с обновлением конфигурации и нужно запустить кофигуратор с параметром UpdConfig
#20 by Звездец
так заморачиваться для обновления риб?
#21 by vi0
а какие альтернативы? БСП? пока не рассматриваю
#22 by Звездец
ты так часто РИБ обновляешь? не проще ли подключиться да щелкнуть мышкой. Ну или в БСП посмотреть как там сделана выдача сообщения и запуск обновления
#23 by vi0
да, пожалуй аналог БСП попробую - запускать файловую базу и полностью ей управление передавать: пришло обновление - 1с закрывается и при закрытии запускает скрипт, который обновит конфигурацию и опять 1с запустит для продолжения обмена если бы с ComConnector не было заморочек, было бы веселее, конечно
#24 by vi0
подключиться и мышкой точно не вариант конечных узлов большое количество
#25 by hhhh
пользуйся планировщиком windows. Вещь. Подсовываешь ему расписание и bat-файл, он тебе всё обновляет в режиме полной скрытности от пользователя.
#26 by hhhh
в бат-файле строчка "C:Program Files1cv828.2.19.106in1cv8.exe" DESIGNER /F"D:asesuh20" /N"адм" /P111 /UpdateDBCfg
#27 by vi0
нужна реализация с минимальным вмешательством администратора
#28 by vi0
вот здесь нашел ответ на мой вопрос "Почему 1С создает 32x COMConnector, а у скрипта ошибка "Невозможно создание объекта контейнером activex"?" ответ следующий: 2) Дальнейшее "гугленье" показало, что Windows Script Host, имеющийся в Win7 64 не создает 32-х разрядные COM объекты. 3) Скачиваем 32-х разрядный WSH с сайта от Win XP. (Возможно достаточно взять WScript.exe от 32-х битной Win7, но такой не нашлось поблизости) 4) Распаковываем (например WinRAR-ом) в определенную папку (у меня c:WScript32) 5) Запускаем скрипт п.1 C:WScript32WScript.exe c:scriptsCreate1C.vbs
#29 by MM
А чем решение из плохо? В 64-битных системах есть 2 WScript32, в C:WindowsSysWOW64 хранятся компоненты системы для совместимости с 32-битными приложениями. Естественно, 64-битное приложение не может загрузить к себе в адресное пространство 32-битные DLL. Можно повесить в скриптик, который дождётся завершения предприятия и произведёт обновление. А его запуск может быть выполнен перед выходом из предприятия, когда надо обновиться.
#30 by vi0
> Естественно, 64-битное приложение не может загрузить к себе в адресное пространство 32-битные DLL. Ты считаешь, что это приложение 64-битное: C:WindowsSystem32wscript.exe ?
#31 by MM
В C:WindowsSystem32 лежит 64х битное, если кто стороннее не положил, в C:WindowsSysWOW64 - 32х битное для совместимости. 32-приложения, автоматически перенаправляются в C:WindowsSysWOW64, если, конечно, они не вызывают специальные функции, чтобы отключить редирект.
#32 by vi0
весело
#33 by hhhh
а где тут вмешательство администратора. У меня тут такой обмен уже 4 года крутится без никакого администратора. Даже все забыли, что он есть.
#34 by vi0
я имею введу предварительные настройки на конечных узлах единственное, если рулить планировщиком тоже скриптами
#35 by Барматолог
Платформу патчили unipatch-ем (backbas.dll)?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С