simplix — 18.09.2017 08:58:31


Автоматическое обновление M.E.Doc


Проект для автоматического обновления бухгалтерской программы M.E.Doc. Разработчики отключили обновление по интернету с версии 10.01.188 и выше, из-за чего стала недоступной быстрая массовая установка обновлений на серверах, а автоматизации обновления и так никогда не было. Этот проект не только полностью решает данную проблему, но и добавляет функции безопасного автоматического обновления.

Использование EzvitUpd очень простое - нужно только запустить файл ezvitupd.exe и дождаться, пока он по очереди обновит все установленные копии программы M.E.Doc. Поддерживаются версии 10.01.190 и выше, так как только начиная с этого номера обновления подписаны сертификатом "Limited Liability Company IT Expert" и EzvitUpd проверяет, правильная ли подпись у обновления, прежде чем устанавливать его. Если по ходу обновления возникнут ошибки, EzvitUpd сообщит точную информацию, что случилось и с какой копией M.E.Doc произошла проблема. Для включения тихого режима без вывода любых сообщений, например для использования в планировщике, используйте ключ /S.

Также перед обновлением проверяется, запущена ли у кого-то на сервере клиентская часть ezvit.exe, и выводится сообщение со списком пользователей, которым необходимо закрыть программу. Так администратор может настроить ярлык для пользователей, чтобы они самостоятельно запускали EzvitUpd от его имени, например с помощью AdmiLink или подобных программ. Для запуска EzvitUpd нужны права администратора, так как только в этом случае возможно перечисление процессов (query process ezvit.exe) и формирование списка пользователей, а также есть возможность завершать процесс ezvitInfo.exe, что и делает EzvitUpd перед началом обновления.

Добавлена возможность запускать обновление от имени конкретного пользователя. Это может пригодиться в том случае, если необходимо ограничить права службам ZvitGrp*. Для этого нужно сначала дать этому пользователю право управления службой, делается это с помощью утилиты subinacl.exe командой "subinacl /service ZvitGrp1 /grant=Medoc", где ZvitGrp1 - имя службы, а Medoc - имя пользователя с ограниченными правами. Затем в свойствах службы следует настроить вход в систему от имени этого пользователя и перезапустить службу. Дальше от имени администратора следует сохранить пароль для пользователя с ограниченными правами командой "runas /savecred /user:Medoc *", где * - любая программа. После чего можно переименовать ezvitupd.exe в ezvitupd-*.exe, где * - имя пользователя, например ezvitupd-Medoc.exe, так EzvitUpd поймёт, от какого имени нужно запускать обновление с помощью runas с сохранённым паролем, и соответственно EzvitUpd нужно запускать от имени того администратора, который сохранил пароль. Примечание: при тестировании этой функции с внешним сервером Firebird иногда наблюдались рандомные ошибки обновления "Error reading data from the connection".

Скачать: [EzvitUpd 1.6 (1 MB)]

mariolast — 18.03.2018 12:20:59

Что то сегодня сбой какой то. База медка 214 на одной машине, на другой 217. Текущая 219. Программа пишет что все обновления установлены, причем мгновенно, только запустил.

simplix — 18.03.2018 14:28:35

Потому что несколько обновлений назад производитель изменил формат обновлений и теперь программе требуется доработка. Займусь этим, когда у меня появится время.

simplix — 25.03.2018 11:05:32

EzvitUpd обновлён до версии 1.5, добавлена совместимость с актуальными версиями M.E.Doc и прогресс загрузки обновлений.

mariolast — 26.03.2018 20:52:30

Работает, сильно облегчает обновления, несмотря на то, что вернули разработчики возможность обновления. Небольшая хотелка. Разделить возможность скачивания и установки обнов по времени 9запуск того или иного ключами). Дн1м клиенты сидят в Медке, уходя, гасят интернет. Подловить момент, когда в рабочее время нет клиентов проблематично. А вот ночью никого нет, но инет вырубают. Можно было бы скачать днем, установить ночью.

simplix — 26.03.2018 21:02:44

Это не рационально, советую просто не выключать интернет.

kotadr — 17.04.2018 12:31:37

А где хранится или указывается файл журнала при тихом ("/s") режиме работы?

Может в опенсорс исходники отдадите, люди быстро поправят/допилят необходимый функционал?

С уважением, Константин.

simplix — 17.04.2018 14:47:59

kotadr
Файл журнала не делается. Если обновление завершится с ошибкой, сам Медок открывает журнал с описанием причины.

kotadr — 18.04.2018 15:05:52

Задача выполняется в планировшике (nncron) с ключом /S. При возникновении ошибки выскочит модальное окно медка и...?

mariolast — 14.06.2018 00:55:00

Кажется опять изменился формат обновлений. Нужен апгрейд программы.

simplix — 14.06.2018 08:07:25

mariolast
У меня сейчас всё работает, проверяйте свою систему.

mariolast — 12.01.2020 12:15:30

А не подскажет кто, какие ключи есть для тихой установки обновлений и самого инсталлятора Медка?