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


Управление компонентами

Единицы задач в установщике Windows называются компонентами установщика Windows (иногда называются WICs или просто компонентами). Идентификатор GUID определяет каждый WIC, который является базовой единицей установки и подсчета ссылок для установок, использующих установщик Windows.

Хотя для создания установщика VSPackage можно использовать несколько продуктов, в этом обсуждении предполагается использование файлов установщика Windows (MSI). При создании установщика необходимо правильно управлять развертыванием файлов, чтобы правильное подсчет ссылок происходило в любое время. Следовательно, разные версии вашего продукта не будут вмешиваться или прерывать друг друга в сочетании сценариев установки и удаления.

В установщике Windows количество ссылок происходит на уровне компонента. Необходимо тщательно упорядочить ресурсы — файлы, записи реестра и т. д. в компоненты. Существуют другие уровни организации, такие как модули, функции и продукты, которые могут помочь в различных сценариях. Дополнительные сведения см. в разделе "Основы установщика Windows".

Рекомендации по настройке разработки для параллельной установки

  • Создание файлов и разделов реестра, совместно используемых между версиями в собственных компонентах.

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

  • Группировать общие компоненты в отдельные модули слияния.

    Эта стратегия помогает правильно создавать параллельные установки.

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

    Если вы используете другой компонент, файлы и записи реестра удаляются при удалении одного из версий VSPackage, но другой VSPackage по-прежнему установлен.

  • Не смешивайте версии и общие элементы в одном компоненте.

    Это делает невозможным установить общие элементы в глобальное расположение и элементы с версиями в изолированные расположения.

  • Не имеют общих разделов реестра, указывающих на версии файлов.

    Если это сделать, общие ключи будут перезаписаны при установке другого пакета VSPackage с версией. После удаления второй версии файл, на который указывает ключ, исчезает.