Обновление решения

Обновление решения, созданного на платформе Docsvision включает два этапа:
  1. Обновление серверной части.

  2. Обновление клиентской части.

Обновление серверной части

Чтобы серверная часть могла обновиться, что включает удаление старой версии и установку новой, достаточно изменить идентификатор продукта (атрибут "ID" ) в проекте пакета установки серверной части, либо использовать значение * в атрибута "ID" этого проекта.

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

Обновление клиентской части

Обновление клиентской части выполняется автоматически при следующих условиях:
  • Библиотека карточек имеет новую версию.

  • Пакет установки клиентской части имеет новый код продукта и поддерживает обновление.

Чтобы условия выполнялись:
  1. Увеличиваем номер версии библиотеки карточек в схеме метаданных библиотеки:

    Назначение новой версии
    Рисунок 1. Назначение новой версии
  2. Изменяем номер версии библиотеки в компоненте библиотеки (файл dvver.h) на номер, указанный в схеме метаданных:

    #define VERSION_MAJOR                       5
    #define VERSION_MINOR                       0
    #define VERSION_BUILD             2018
    #define VERSION_REVISION                    0
    #define VERSION_DISPLAY_MINOR               2
  3. Устанавливаем в схеме метаданных библиотеки карточек новый Код продукта:

    Установка нового кода продукта
    Рисунок 2. Установка нового кода продукта
  4. Изменяем код продукта в проекте расширения Консоли настройки, в методе Execute (см. раздел Реализация стандартных интерфейсов) на значение, использованное в схеме метаданных:

    public bool Execute()
    {
     /* часть кода пропущена */
    
     cardLibConfig.RegisterPackage(
      "E98E531F-D34C-41D6-9BCA-9972F46EB6DF", (1)
      "22CE4047-0BA8-4014-9BBE-7D8C43FDE904", (2)
      Path.Combine(AssemblyFolder, "NetstatSolutionClient.msi"));
    
     return true;
    }
    1 Идентификатор пакета установки.
    2 Код продукта.
  5. Изменяем значение Product Id в проекте пакета установки клиентской части (файл Product.wxs), используя код продукта из схемы метаданных:

    <Product Id="22CE4047-0BA8-4014-9BBE-7D8C43FDE904"
     Name="NetstatSolutionClient"
     Language="1049"
     Version="$(var.ProductVersion)"
     Manufacturer="Docsvision"
     UpgradeCode="$(var.UpgradeCode)">

В итоге, при запуске пакета установки, серверная часть будет обновлена до новой версии, а клиентская часть обновиться автоматически при запуске Docsvision Windows-клиент.