Упорядочение приложений в компоненты

Windows Установщик устанавливает и удаляет приложение или продукт в частях, называемых компонентами. Компоненты — это коллекции ресурсов, которые всегда устанавливаются или удаляются как единица из системы пользователя. Ресурс может быть файлом, разделом реестра, ярлыком или любым другим, который может быть установлен. Каждому компоненту назначается уникальный guid кода компонента.

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

  • Никогда не создавайте два компонента, которые устанавливают ресурс с одинаковым именем и целевым расположением. Если ресурс должен дублироваться в нескольких компонентах, измените его имя или целевое расположение в каждом компоненте. Это правило должно применяться к приложениям, продуктам, версиям продуктов и компаниям.
  • Обратите внимание, что предыдущее правило означает, что два компонента не должны иметь один и тот же файл пути к ключу. Значение пути ключа указывает на определенный файл или папку, принадлежащие компоненту, который установщик использует для обнаружения компонента. Если два компонента имеют один и тот же файл пути к ключу, установщик не сможет определить, какой компонент установлен. Однако два компонента могут совместно использовать папку пути к ключу.
  • Не создавайте версию компонента, несовместимую со всеми предыдущими версиями компонента. Компонент может совместно использоваться другими приложениями, продуктами, версиями продуктов и компаниями. Вместо этого создайте новый компонент.
  • Не создавайте компоненты, содержащие ресурсы, которые необходимо установить в несколько каталогов в системе пользователя. Установщик устанавливает все ресурсы в компоненте в один каталог. Невозможно установить некоторые ресурсы в подкаталоги.
  • Не включайте более одного COM-сервера на каждый компонент. Если компонент содержит COM-сервер, это должен быть путь к ключу для компонента.
  • Не указывайте несколько файлов для каждого компонента в качестве целевого объекта для меню "Пуск " или ярлыка "Рабочий стол".

При организации приложения в компоненты авторам пакетов может потребоваться добавить, удалить или изменить ресурсы в существующей установке. В этом случае автор должен решить, следует ли предоставить ресурсы, введя новый компонент или изменив существующие компоненты и изменив их в новую версию компонента. Поскольку при добавлении нового компонента необходимо назначить уникальный код компонента, авторы должны определить, требуются ли изменения в коде компонента. Дополнительные сведения см. в разделе "Изменение кода компонента", "Что произойдет, если правила компонентов нарушены?", а также определение компонентов установщика.