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

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

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

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

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

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

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

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

    Примечание

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

     

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

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

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

Примечание

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

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