• Обсуждения на сайте Альта-Софт

Автообновление по расписанию

вопросы по работе с программным обеспечением

Модераторы: Renat, Gala, alta_olg, expert, Lemur

Vovkin
Активный участник
Сообщения: 34
На форуме: c 20 ноя 2007
Сказал: 0 ед.
Получил: 4 ед.

Автообновление по расписанию

Сообщение Vovkin »

Программа обновления altaupd.exe позволяет обновлять программы не только в ручном режиме из меню, но и производить обновление в автоматическом режиме без участия пользователя по расписанию в заданное время. Например можно сделать так, чтобы программы обновлялись ночью. Также можно настроить автоматическое обновление папки – зеркала файлов, а программы обновлять из этой папки, которая может быть общедоступной по сети.
Программа обновления имеет следующие ключи запуска:
-p - определяет программу фирма Альта, которая будет обновляться. Возможные имена программ описаны в файле aupdater.ini - определяются именами разделов, например, -pgtdwin - ГТД windows.
-o - задает каталог, где установлена обновляемая программа, например -oC:\alta\
-setup - Показывает окно настроек программы, где задаются параметры связи - Хост, Прокси и т.д.
-check - Позволяет проверить наличие обновления. Если обновление есть, в каталоге программы создается файл <имя программы>.UPD. При работе не создается никаких окон и не выводится никаких сообщений - altaupd проверяет обновление и закрывается.
-quiet - Обновлять "тихо". Не показывает окно с новостями и загружаемыми файлами, не требует человеческого вмешательства.
-r1 - Режим сервера. В этом режиме Aupdater создает зеркало каталога ftp.alta.ru\upl_gtd на локальной машине в каталоге \update\tempsrv.
-bXXX - ключ для перезапуска программ после процесса обновления. XXX - зашифрованная в HEX формат строка перезапуска.
-?(h) - Выводит окно со списком ключей запуска.
-d – не перезапускать программу после обновления.

Настройка обновления папки – зеркала файлов.
Для начала создается каталог в котором будет располагаться зеркало файлов. Например c:\alta\server\. Далее запускается программа обновления в режиме настройки параметров для обновления зеркала файлов (c:\alta\altaupd.exe –r1 -setup). В поле “Каталог загрузки файлов” указываете созданный каталог (в данном случае c:\alta\server\). Также делаем требуемые настройки (выбираем сервер, откуда будут скачиваться обновления, прокси-сервер, если требуется, пароль, логин). Очень рекомендуется также включить галочку Обновляться до бета версии программ. При этом будет также скачиавться зеркало бета-файлов, которые могут понадобиться при обновлении. Сохраняем параметры нажатием кнопки “Сохранить” и закрываем программу.
Создаем исполняемый bat файл (например updateserver.bat), который содержит следующую строку:
c:\alta\altaupd.exe –r1 -quiet
Этот исполняемый файл ставим в планировщик заданий windows на нужное время, например ежедневно в 00:00.
После этого каждый день в полночь будет запускаться программа обновления и пополнять папку-зеркало с файлами. Эту папку можно сделать общедоступной в локальной сети и настроить клиентские программы для обновления из этого каталога (режим обновления из Каталога в программе обновления). Стоит отметить, что в созданном нами каталоге (c:\alta\server\) будет создана подпапка c:\alta\server\update\tempsrv\ и именно туда будут скачиваться файлы и именно этот (c:\alta\server\update\tempsrv\) каталог надо указывать в клиентских программах обновления.
Примечание: Если вы настраиваете обновление зеркала файлов в первый раз, т.е. каталог с файлами у вас пустой, то перед постановкой исполняемого файла bat на выполнение надо запустить altaupd.exe с ключом -r1 в ручную. В строке "ЗАГРУЗИТЬ С" установить дату 01.01.1990. Нажать кнопку "Обновить список". Появится полный список файлов доступных на сервере Альта. После этого выполнить обновление нажатием кнопки "Выполнить обновление". При этом у вас в каталоге сформируется полное начальное зеркало файлов и далее оно уже будет пополняться по расписанию. Формирование (скачивание) полного начального зеркала файлов, может занять большое количество времени, т.к. будет скачиваться достаточно большой объем данных, который будет указан в строке "Размер" (под кнопкой "Выполнить обновление")

Настройка обновления программы.
Предположим, требуется обновление программы ГТД, которая расположена в каталоге c:\alta\. Создаем исполняемый bat файл (например udpateprog.bat), который содержит следующую строку
c:\alta\altaupd.exe –pgtdwin –oc:\alta\ -quiet –d
Этот исполняемый файл ставим в планировщик заданий windows на нужное время, например ежедневно в 00:00.
После этого каждый день в полночь будет запускаться программа обновления и обновлять программу ГТД. При этом после обновления ГТД перезапускаться не будет (указан ключ -d). Данный способ обновления удобен для терминальной версии программы, когда установлена одна копия программы, а клиенты работают с ней в терминальном режиме. При этом обновление происходит ночью, когда клиенты не работают с программой и все файлы из каталога доступны для обновления.
Последний раз редактировалось Vovkin Пт дек 03, 2010 11:23, всего редактировалось 3 раза.
Denis_Rostek
Постоянный участник
Сообщения: 23
На форуме: c 08 июл 2007
Сказал: 1 ед.
Получил: 1 ед.

Re: Автообновление по расписанию

Сообщение Denis_Rostek »

Добрый день
а если выдает "Не могу скачать системный файл попробуйте переключиться на другой сервер" как с этим бороться?
Sergey
Аксакал
Сообщения: 671
На форуме: c 14 ноя 2004
Откуда: Санкт-Петербург
Сказал: 4 ед.
Получил: 102 ед.

Re: Автообновление по расписанию

Сообщение Sergey »

Denis_Rostek писал(а):Добрый день
а если выдает "Не могу скачать системный файл попробуйте переключиться на другой сервер" как с этим бороться?
проверить настройки связи.
Denis_Rostek
Постоянный участник
Сообщения: 23
На форуме: c 08 июл 2007
Сказал: 1 ед.
Получил: 1 ед.

Re: Автообновление по расписанию

Сообщение Denis_Rostek »

Denis_Rostek писал(а):Добрый день
а если выдает "Не могу скачать системный файл попробуйте переключиться на другой сервер" как с этим бороться?
Добрый день
а если выдает "Не могу скачать системный файл попробуйте переключиться на другой сервер" как с этим бороться?
Сообщение Добавлено: Ср но
сорри, это сообщение выходит при настройки машин пользователей. т.е. при установки директории \\server\alta\server\
выползает сообщение "Не могу скачать системный файл попробуйте переключиться на другой сервер".
связь до сервера есть 100% заместо server писал IP-адрес.
Denis_Rostek
Постоянный участник
Сообщения: 23
На форуме: c 08 июл 2007
Сказал: 1 ед.
Получил: 1 ед.

Re: Автообновление по расписанию

Сообщение Denis_Rostek »

Sergey писал(а):
Denis_Rostek писал(а):Добрый день
а если выдает "Не могу скачать системный файл попробуйте переключиться на другой сервер" как с этим бороться?
проверить настройки связи.

Добрый день, проверил связь, все равно не работает, пишет Не могу скачать системный файл попробуйте переключиться на другой сервер
Vovkin
Активный участник
Сообщения: 34
На форуме: c 20 ноя 2007
Сказал: 0 ед.
Получил: 4 ед.

Re: Автообновление по расписанию

Сообщение Vovkin »

Добрый день, проверил связь, все равно не работает, пишет Не могу скачать системный файл попробуйте переключиться на другой сервер
Скачайте файл по ссылке
https://www.alta.ru/giveme.php?file=altaupd.exe.cab
Распакуйте его в каталог вашей программы.

Вы скорее всего обновляетесь из каталога с зеркалом файлов.
Зеркало файлов у вас формируется без включенной галочки
Обновляться до бета версии. Настоятельно рекомендуется её
(эту галочку) включать при формировании зеркала.
vikons
Активный участник
Сообщения: 39
На форуме: c 29 ноя 2006
Откуда: Таганрог
Сказал: 0 ед.
Получил: 0 ед.

Re: Автообновление по расписанию

Сообщение vikons »

Добрый день, у нас ГТД работает под учеткой "Пользователя" в системе. Если в программе ГТД установить обновление из каталога и при первом запуске - оно пройдет нормально? Для обновления не надо административный привилегий?
Аватара пользователя
Ranger_Z
Эксперт
Сообщения: 1072
На форуме: c 28 ноя 2007
Откуда: МКС
Сказал: 5 ед.
Получил: 125 ед.

Re: Автообновление по расписанию

Сообщение Ranger_Z »

NOD кстати тоже косячит неподетски.
Аватара пользователя
Iskin
Эксперт
Сообщения: 9447
На форуме: c 08 июл 2008
Откуда: Татарстан
Сказал: 129 ед.
Получил: 2364 ед.

Re: Автообновление по расписанию

Сообщение Iskin »

vikons писал(а):Добрый день, у нас ГТД работает под учеткой "Пользователя" в системе. Если в программе ГТД установить обновление из каталога и при первом запуске - оно пройдет нормально? Для обновления не надо административный привилегий?
У нас работает, но все зависит как настроена ваша система/файрвол.
Думайте глобально, действуйте локально!
kanitelka
Новый участник
Сообщения: 1
На форуме: c 31 окт 2014
Сказал: 0 ед.
Получил: 0 ед.

Re: Автообновление по расписанию

Сообщение kanitelka »

Подскажите, батник вида

Код: Выделить всё

c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
будет обновлять только ГТД или все программы? У меня версия просто ГТД ПРО, я батник запускаю - происходит обновление.
Аватара пользователя
Iskin
Эксперт
Сообщения: 9447
На форуме: c 08 июл 2008
Откуда: Татарстан
Сказал: 129 ед.
Получил: 2364 ед.

Re: Автообновление по расписанию

Сообщение Iskin »

-pgtdwin - запуск ГТД windows.
Найдите и зайдите в altaupd.exe, уберите лишние программы.
А так, много нюансов и способов, зависит от операционки, настроек и прочего. Например команда START
Думайте глобально, действуйте локально!
anatolysa
Новый участник
Сообщения: 3
На форуме: c 13 окт 2013
Сказал: 0 ед.
Получил: 0 ед.

Re: Автообновление по расписанию

Сообщение anatolysa »

Это все хорошо, а если у меня полный список программ, включая таксу и там доки и т.д. то мне для каждого приложения свой батник писать? А если они на терминале еще стоят? Очень хочется кнопочку обновить все :) которую можно было бы сама как служба все обновляла :)
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: Автообновление по расписанию

Сообщение aiki »

anatolysa писал(а):Это все хорошо, а если у меня полный список программ, включая таксу и там доки и т.д. то мне для каждого приложения свой батник писать? А если они на терминале еще стоят? Очень хочется кнопочку обновить все :) которую можно было бы сама как служба все обновляла :)
Добрый день.
Никаких проблем. Делаете все тоже самое c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
а в параметрах altaupd ставите чекбокс "пакетное обновление" и накидываете туда все программы что нужно обновлять
На выходе получаем, по одному командному файлу обновляем все что нужно.

С терминалом др нюанс. Что бы обновление прошло успешно, все экземпляры программ должны быть закрыты. Апдейтер принудительно их не закрывает. Поэтому вам нужно следить за сеансами пользователей (ставить таймеры на активность и завершение сеансов) средствами терминального сервера.
bolt
Новый участник
Сообщения: 2
На форуме: c 06 май 2016
Сказал: 1 ед.
Получил: 1 ед.

Re: Автообновление по расписанию

Сообщение bolt »

aiki писал(а):
anatolysa писал(а): С терминалом др нюанс. Что бы обновление прошло успешно, все экземпляры программ должны быть закрыты. Апдейтер принудительно их не закрывает. Поэтому вам нужно следить за сеансами пользователей (ставить таймеры на активность и завершение сеансов) средствами терминального сервера.
Вот как раз очень интересует проблема с активными сеансами в терминальной версии.

У меня порядка 30 человек, которые сидят в разных местах (географически).
СтоИт автообновление ночью, перед обновлением пользователей выкидывает автоматом и всё ок. Но иногда, что-то идет не так и появляется ошибка о том, что последнее обновление прошло не корректно и бла бла бла...
Тут начинаются танцы с бубнами: обзвонить всех, попросить выйти из программ, (простым выкидыванием не помогает, ибо пользователь просто заново сам заходит, не успеваю обновить даже, и программа обновления ругается на открытые сеансы...), ручное обновление...

Неужели нет никакого решения для этой проблемы? Не было бы проблем если бы все люди сидели в одном офисе (крикнул "всем выйти из сумрака!", обновился и всё ок...), а в моем случае приходится всех обзванивать...
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: Автообновление по расписанию

Сообщение aiki »

bolt писал(а):
aiki писал(а):
anatolysa писал(а): С терминалом др нюанс. Что бы обновление прошло успешно, все экземпляры программ должны быть закрыты. Апдейтер принудительно их не закрывает. Поэтому вам нужно следить за сеансами пользователей (ставить таймеры на активность и завершение сеансов) средствами терминального сервера.
Вот как раз очень интересует проблема с активными сеансами в терминальной версии.

У меня порядка 30 человек, которые сидят в разных местах (географически).
СтоИт автообновление ночью, перед обновлением пользователей выкидывает автоматом и всё ок. Но иногда, что-то идет не так и появляется ошибка о том, что последнее обновление прошло не корректно и бла бла бла...
Тут начинаются танцы с бубнами: обзвонить всех, попросить выйти из программ, (простым выкидыванием не помогает, ибо пользователь просто заново сам заходит, не успеваю обновить даже, и программа обновления ругается на открытые сеансы...), ручное обновление...

Неужели нет никакого решения для этой проблемы? Не было бы проблем если бы все люди сидели в одном офисе (крикнул "всем выйти из сумрака!", обновился и всё ок...), а в моем случае приходится всех обзванивать...
Ну ситуация тут чисто организационного плана. Под выкидыванием вы понимаете отключение от сеанса или его завершение?
На счет ошибок обновления, нужно логи апдейтера смотреть, чтоб понять что пошло не так. И там думать уже.
Я в одном месте немного усовершенствовал процесс обновления при помощи cmd файла. Вот его содержимое:

chcp 1251 >NUL
MSG * 'Через 5 минут будут принудительно завершены все программы Альта-софт для проведения обновления. Сохраните документы. Возобновить работу можно через 20 минут.'
TIMEOUT /T 300
chcp 866 >NUL
tskill gtdw /a && tskill artdb /a && tskill taxwin /a && tskill zapoln /a && tskill ordview /a && tskill ordwlite /a && tskill REFUPD /a
c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
@echo off
:wait
TASKLIST | find "altastp.exe" >nul
if %errorlevel%==0 goto wait
c:\articul\artdb.exe /UpdAllDB /silence
C:\alta\REFUPD.exe
chcp 1251 >NUL
MSG * 'Обновление завершено. Можно возобновить работу с программами Альта-софт.'
EXIT

Что он делает - рассылает сообщение в сеансы "MSG"
ждет указанные 5 минут
убивает перечисленные процессы во всех сеансах "tskill"
запуск собственно апдейтера
ожидание завершения установщика Альты
запуск артикула для обновления структуры БД (у кого есть он, тот знает про эту заморочку)
снова сообщение
выход.
Если поможет и будут ваши дополнения, буду рад :)
Следующие пользователи поблагодарили aiki за это собщение: bolt
bolt
Новый участник
Сообщения: 2
На форуме: c 06 май 2016
Сказал: 1 ед.
Получил: 1 ед.

Re: Автообновление по расписанию

Сообщение bolt »

aiki писал(а): Ну ситуация тут чисто организационного плана. Под выкидыванием вы понимаете отключение от сеанса или его завершение?
На счет ошибок обновления, нужно логи апдейтера смотреть, чтоб понять что пошло не так. И там думать уже.
Я в одном месте немного усовершенствовал процесс обновления при помощи cmd файла. Вот его содержимое:

chcp 1251 >NUL
MSG * 'Через 5 минут будут принудительно завершены все программы Альта-софт для проведения обновления. Сохраните документы. Возобновить работу можно через 20 минут.'
TIMEOUT /T 300
chcp 866 >NUL
tskill gtdw /a && tskill artdb /a && tskill taxwin /a && tskill zapoln /a && tskill ordview /a && tskill ordwlite /a && tskill REFUPD /a
c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
@echo off
:wait
TASKLIST | find "altastp.exe" >nul
if %errorlevel%==0 goto wait
c:\articul\artdb.exe /UpdAllDB /silence
C:\alta\REFUPD.exe
chcp 1251 >NUL
MSG * 'Обновление завершено. Можно возобновить работу с программами Альта-софт.'
EXIT

Что он делает - рассылает сообщение в сеансы "MSG"
ждет указанные 5 минут
убивает перечисленные процессы во всех сеансах "tskill"
запуск собственно апдейтера
ожидание завершения установщика Альты
запуск артикула для обновления структуры БД (у кого есть он, тот знает про эту заморочку)
снова сообщение
выход.
Если поможет и будут ваши дополнения, буду рад :)
Aiki, огромное спасибо!
Пользовался Вашим батником - классная штука!
Единственное что:
Обнаружил что tskill, когда проходит по процессам и в случае если процесса нет, то к следующему он не переходит. То есть пример
tskill gtdw /a && tskill artdb /a ,
процесса gtdw он не находит, начинается обновление c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
Можно сделать просто несколько отдельных строчек исключив &&, но решил сделать иначе.

Допилил ночное обновление: перед каждым обновлением (для подстраховки), помимо убийства сессий добавил tskill по этим процессам альты. Буду смотреть. Надеюсь что больше проблем возникнуть не должно.

Еще раз спасибо!
Следующие пользователи поблагодарили bolt за это собщение: aiki
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: Автообновление по расписанию

Сообщение aiki »

bolt писал(а): Обнаружил что tskill, когда проходит по процессам и в случае если процесса нет, то к следующему он не переходит. То есть пример
tskill gtdw /a && tskill artdb /a ,
процесса gtdw он не находит, начинается обновление c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
Можно сделать просто несколько отдельных строчек исключив &&, но решил сделать иначе.

Еще раз спасибо!
Хм, не обращал внимания, проверю этот момент. Спасибо!
starik
Постоянный участник
Сообщения: 26
На форуме: c 30 июл 2015
Сказал: 4 ед.
Получил: 0 ед.

Re: Автообновление по расписанию

Сообщение starik »

Здравствуйте.
Сейчас в пакетном файле я проверяю результаты обновления программы "altaupd.exe" следующим образом:

C:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
if ERRORLEVEL 1 ( ....

Но программа "altaupd" запускает непосредственно для обновления программу:
"c:\alta\altastp.exe -quiet -iUpdateP C:\Alta\update\Download\name.txt", результат выполнения которой узнать затруднительно.

Может кто подскажет, как узнать в сценарии результаты обновления, или может есть у программу "altaupd" флаг, которой ей можно передать при запуске, чтобы она не запускала "c:\alta\altastp.exe", или дожидалась результатов обновления?
Спасибо.
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: Автообновление по расписанию

Сообщение aiki »

starik писал(а):Здравствуйте.
Сейчас в пакетном файле я проверяю результаты обновления программы "altaupd.exe" следующим образом:

C:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
if ERRORLEVEL 1 ( ....

Но программа "altaupd" запускает непосредственно для обновления программу:
"c:\alta\altastp.exe -quiet -iUpdateP C:\Alta\update\Download\name.txt", результат выполнения которой узнать затруднительно.

Может кто подскажет, как узнать в сценарии результаты обновления, или может есть у программу "altaupd" флаг, которой ей можно передать при запуске, чтобы она не запускала "c:\alta\altastp.exe", или дожидалась результатов обновления?
Спасибо.
Добрый день.
А логи altastp и altaupd чем не устраивают?
starik
Постоянный участник
Сообщения: 26
На форуме: c 30 июл 2015
Сказал: 4 ед.
Получил: 0 ед.

Re: Автообновление по расписанию

Сообщение starik »

aiki писал(а):Добрый день.
А логи altastp и altaupd чем не устраивают?
Их распарсить надо, чтобы получить результат, а по какому признаку в этих файлах я могу узнать точно, что обновление завершилось с ошибкой?
Смысл, всего этого, чтобы автоматически запустить обновление чуть позже еще раз, в случае неудачи.
Ответить