Поделиться через


Использование транзитивных компонентов

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

Включение двух транзитивных компонентов в пакет установки

  1. Включите оба транзитивных компонента в пакет установки.

  2. Создайте оба транзитивных компонента в таблицу компонентов так же, как и обычные компоненты. Каждый транзитивный компонент должен иметь собственный уникальный GUID, указанный в столбце ComponentId.

  3. Включите бит msidbComponentAttributesTransitive в столбец "Атрибуты" таблицы компонентов для каждого транзитивного компонента. Если этот бит задан, установщик переоценивает значение инструкции в столбце Условия при переустановке.

    Если значение было ранее false и изменилось на True, установщик устанавливает компонент.

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

    Примечание.

    Если транзитивный бит не задан, компонент остается включенным после установки, даже если условная инструкция оценивается как False при последующей установке продукта. Условия должны основываться только на состояниях компьютера. Не используйте условия на основе состояний пользователя или свойств, заданных в командной строке, так как это может привести к тому, что установщику потребуется переустановка продукта для каждого пользователя, используемого другим пользователем.

     

  4. Введите дополнительные условные выражения в поля условий таблицы Control, например, когда условие первого транзитивного компонента изменяется на False условие второго транзитивного компонента, изменяется на True. Это приводит к удалению первого компонента и установке второго компонента при переустановке приложения.

Переустановка продукта необходима для переключения транзитивных компонентов. Поэтому авторам пакетов необходимо предоставить пользователям метод для переустановки продукта и настройки режимов свойства REINSTALLMODE . Существует в основном три способа активации переустановки:

Бит должен использоваться только с условиями на основе состояний компьютера. Не используйте условия на основе состояний пользователя или свойств, заданных в командной строке, так как это может привести к тому, что установщику потребуется переустановка продукта для каждого пользователя, используемого другим пользователем.

Примечание.

Если для компонента не задан транзитивный бит в столбце "Атрибуты", компонент остается включенным после установки, даже если условная инструкция в столбце "Условие" оценивается как false при последующей установке продукта.

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