|
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
|
|||
---|---|---|---|
#18+
Краткая диспозиция - есть 40 точек, на которых установлены 40 одинаковых экземпляров некоего приложения в клиент-серверном исполнении: серверная часть на Firebird но здесь это не важно. Заказчик ПО - вышестоящая организация, четко придерживается политики того, что ручное обновление данного приложения на всех этих точках (то есть на каждой нужно запустить update.exe и потом следовать инструкциям мастера, silent-mode не приветствуется) - это единственно верное решение. Я лично сомневаюсь:) Потому как экземпляры одинаковые, даже логи обновления практически байт в байт получаются одинаковые. Но для вышестоящей организации это не довод. Ну да бог с ним. Я разобрал схему обновления данного ПО - ничего в целом сложного нет: копируются файлы, перезапускаются службы - ПО ни на реестр ни на что не завязано. Но в этом обновлении есть шаг, который у меня пока автоматизировать не получается, а именно: во время обновления вызываются две DLL-ки при помощи которых идет обновление БД: first.dll открывает соединение с базой и возвращает ее некий ID, который потом использует second.DLL для загрузки обновленной схемы в БД, после чего first.dll закрывает соединение с БД. Ни та, ни другая как COM-объекты в системе не регистрируются. Вызов их через rundll32 насколько я понимаю не целесообразен, потому как если вызвать первую через rundll32 после отработки команды соединение тут же закроется. Если есть какой-либо путь для решения данной проблемы с помощью vbscript или jscript или еще как-нибудь очень прошу подсказать. Заранее спасибо. Орг-решений не предлагать - меня там не слышат: считают что если это будет делать автомат, нафик мы тогда нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2012, 13:35 |
|
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
|
|||
---|---|---|---|
#18+
> Автор: PyroTechnic > ...: серверная часть на Firebird ... > ...идет обновление БД: ... Генери скрипт обновления, раз у тебя все точки идентичны, и используй IBEScript.exe для обновления структуры БД. И откажись от двух dll. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2012, 13:47 |
|
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
|
|||
---|---|---|---|
#18+
Игорь Горбонос> Автор: PyroTechnic > ...: серверная часть на Firebird ... > ...идет обновление БД: ... Генери скрипт обновления, раз у тебя все точки идентичны, и используй IBEScript.exe для обновления структуры БД. И откажись от двух dll. я может так бы и поступил - но зачем, если у них уже все придумано - там вторая dll-ка насколько я понял сравнивает схемы данных между БД и даваемой ей на вход схемой в xml и приводит к единому результату (видимо на тот случай, если кто-то мог что-то ручками подвертеть). Затем она еще закачивает в базу blobы - а это я чем качать туда буду? Потом, ты предлагаешь мне на каждое новое обновление свой новый скрипт собирать - дык я повешусь. А тут все просто - уже все заложено в самой программе обновления, только мне нужно это заставить работать по мановению команд скрипта, а не по указанию нажатых кнопок "Далее" и "Готово":) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2012, 16:54 |
|
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
|
|||
---|---|---|---|
#18+
Попробую конкретизировать: Как я могу вызвать какую-либо non-COM DLL из VBScript? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2012, 18:51 |
|
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
|
|||
---|---|---|---|
#18+
> Автор: PyroTechnic > Попробую конкретизировать: Как я могу вызвать какую-либо non-COM DLL из VBScript? Никак. В него(VBScript) специально для этого встроили поддержку вызова СОМ-объектов Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2012, 19:21 |
|
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
|
|||
---|---|---|---|
#18+
Игорь Горбонос> Попробую конкретизировать: Как я могу вызвать какую-либо non-COM DLL из VBScript? Никак. В него(VBScript) специально для этого встроили поддержку вызова СОМ-объектов Почему же "никак"? А DynWrap на что? http://www.script-coding.com/dynwrap.html ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2012, 21:38 |
|
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
|
|||
---|---|---|---|
#18+
> Автор: White Owl > Почему же "никак"? А DynWrap на что? Прикольно, "все украдено до нас" (с) кто-то Для ТС, похоже самое то что нужно. Нужно только допроверить валидность хендла соединения с БД. А как по мне, так проще написать что-то узкоспециализированное. P.S. Кстати! родилась гениальная идея! VBA может сделать нужный ход лошадью. Можно написать нужный макрос в ворде, екселе и вызвать его из VBScript'а Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2012, 12:18 |
|
|
start [/forum/topic.php?fid=60&msg=37602179&tid=2158170]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 175ms |
0 / 0 |