Обновление DIRECTUM патчами

5 5

Из википедии (http://ru.wikipedia.org/wiki/Патч):

Заплатка, или патч (англ. patch /pætʃ/ — заплатка) — автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функционала, а также сам процесс установки патча ("пропатчивание"). Исправление может применяться к уже установленной программе, либо к её исходным кодам. Сюда входит исправление ошибок, изменение внешнего вида, улучшение эргономичности или производительности программ, а также любые другие изменения, которые разработчик пожелал сделать.

В качестве синонима может использоваться термин "обновление" (англ. update). Однако под словом "патч" чаще понимают исправление каких-то ошибок, в то время как под обновлением — улучшение функционала и добавление новых возможностей.

К чему это всё? К тому, что в DIRECTUM 4.6.1 теперь можно использовать эти самые патчи для обновления клиентской части на рабочих местах пользователей. Преимущества использования этой технологии следующие:

  • Уменьшается объем данных, скачиваемых через интернет;
  • Уменьшается объём данных, скачиваемых по локальной сети при установке обновлений. Ранее могли возникать перегрузки сети при установке обновлений в начале рабочего дня, когда на все компьютеры одновременно начинает устанавливаться клиентская часть;
  • Уменьшается время установки обновления, этому способствуют две причины. Первая - нет больше необходимости в предварительном удалении старой версии клиентской части. Вторая – патч обновляет не все файлы приложения, а только изменившиеся, поэтому патч устанавливается быстрее, чем обычная клиентская часть.

Процесс обновления с использованием патчей описан в инструкции по установке обновлений патчами, файл Docs\Instruct\patches.PDF дистрибутива DIRECTUM.

5
Авторизуйтесь, чтобы оценить материал.
Вячеслав Смирнов

Как человек, тестировавший патчи, я должен что-нибудь добавить ).

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

Последовательный накат патчей работает - официально протестировано.

Последовательный откат патчей работал (Протестировано неофициально, в свободное время, только мной, и я наверняка что-то упустил. Все тестирование было попыткой разобраться как оно может делаться вообще, как делается в "крутом" продукте ОС Windows со сложившимися традициями "патчеукладки" и как оно делается в Directum) и оффициально не поддерживается. Но если "похимичить" в реестре то откат выполняется, т.е. можно откатить патч "версия 1000 на версию 1001", затем откатить патч "версия 999 на версию 1000", ... и так до самой исходной установки клиенсткой части.

Если у кого есть желание поэкспериментировать - то

1) делать это можно на виртуальной или тестовой машине, а не на рабочей

2) все преобразования сводятся к манипуляиям в ветке реестра (в моём случае это было на Windows XP, путь был такой): HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\74C9DC8C033ED254B. Там в подветке Patches, есть ключ AllPatches, в котором перечислены все идентификаторы патчей в порядке их установки. Нужно выбрать последний идентификатор, перейти в ветку с этим патчем, установить значения ключей: state = 1 (значит applied, применено) и Uninstallable = 1 (можно деинсталлировать этот патч). Дальше заходим в "Установка и удаление программ", ставим галочку "Показать обновления", выбираем этот патч и можно его деинсталлировать. Как закончили с этим патчем, снова выбираем последний из оставшихся, ему снова делаем state = 1, Uninstallable = 1 и повторяем процесс.

 Вот так вот это делалось. В реальности откатывать патчи вряд ли кому-то понадобится. Это как пилить ветку, на которой сидишь.

Еще раз подчеркну - откат патчей друг за другом, если и будет проводиться, то он будет проводиться на страх и риск выполняющего его человека. Этот процесс не задокументирован, официально не поддерживается. Пользуйтесь обновлением патчами, а откатывать их их не надо.

Вячеслав Смирнов
сейчасная задумка такова: патчи можно будет наказывать, но нельзя будет откатывать

 

Ошибся: можно будет легко накатывать, но нельзя будет откатывать.
Алексей Фельдштейн

А можно ли обновить клиентскую часть версии 4.6.1 обновить до версии 4.7.0 с помощью патча?

Константин Белов
А можно ли обновить клиентскую часть версии 4.6.1 обновить до версии 4.7.0 с помощью патча?

Нет, на сколько я знаю.

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

Авторизуйтесь, чтобы написать комментарий