Страница 1 из 2

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

Добавлено: Ср ноя 03, 2010 13:15
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). Данный способ обновления удобен для терминальной версии программы, когда установлена одна копия программы, а клиенты работают с ней в терминальном режиме. При этом обновление происходит ночью, когда клиенты не работают с программой и все файлы из каталога доступны для обновления.

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

Добавлено: Ср ноя 24, 2010 09:23
Denis_Rostek
Добрый день
а если выдает "Не могу скачать системный файл попробуйте переключиться на другой сервер" как с этим бороться?

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

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

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

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

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

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

Добрый день, проверил связь, все равно не работает, пишет Не могу скачать системный файл попробуйте переключиться на другой сервер

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

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

Вы скорее всего обновляетесь из каталога с зеркалом файлов.
Зеркало файлов у вас формируется без включенной галочки
Обновляться до бета версии. Настоятельно рекомендуется её
(эту галочку) включать при формировании зеркала.

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

Добавлено: Ср дек 01, 2010 09:45
vikons
Добрый день, у нас ГТД работает под учеткой "Пользователя" в системе. Если в программе ГТД установить обновление из каталога и при первом запуске - оно пройдет нормально? Для обновления не надо административный привилегий?

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

Добавлено: Ср ноя 07, 2012 09:27
Ranger_Z
NOD кстати тоже косячит неподетски.

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

Добавлено: Пт май 17, 2013 06:04
Iskin
vikons писал(а):Добрый день, у нас ГТД работает под учеткой "Пользователя" в системе. Если в программе ГТД установить обновление из каталога и при первом запуске - оно пройдет нормально? Для обновления не надо административный привилегий?
У нас работает, но все зависит как настроена ваша система/файрвол.

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

Добавлено: Пт окт 31, 2014 19:07
kanitelka
Подскажите, батник вида

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

c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
будет обновлять только ГТД или все программы? У меня версия просто ГТД ПРО, я батник запускаю - происходит обновление.

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

Добавлено: Вс ноя 02, 2014 08:26
Iskin
-pgtdwin - запуск ГТД windows.
Найдите и зайдите в altaupd.exe, уберите лишние программы.
А так, много нюансов и способов, зависит от операционки, настроек и прочего. Например команда START

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

Добавлено: Чт янв 14, 2016 00:38
anatolysa
Это все хорошо, а если у меня полный список программ, включая таксу и там доки и т.д. то мне для каждого приложения свой батник писать? А если они на терминале еще стоят? Очень хочется кнопочку обновить все :) которую можно было бы сама как служба все обновляла :)

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

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

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

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

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

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

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

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

Добавлено: Ср май 11, 2016 11:36
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"
запуск собственно апдейтера
ожидание завершения установщика Альты
запуск артикула для обновления структуры БД (у кого есть он, тот знает про эту заморочку)
снова сообщение
выход.
Если поможет и будут ваши дополнения, буду рад :)

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

Добавлено: Чт июн 30, 2016 12:45
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 по этим процессам альты. Буду смотреть. Надеюсь что больше проблем возникнуть не должно.

Еще раз спасибо!

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

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

Еще раз спасибо!
Хм, не обращал внимания, проверю этот момент. Спасибо!

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

Добавлено: Пн окт 10, 2016 11:47
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", или дожидалась результатов обновления?
Спасибо.

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

Добавлено: Пн окт 10, 2016 12:21
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 чем не устраивают?

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

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