Изменение кода компонента

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

Создание нового компонента

Введите новый компонент и назначьте ему уникальный код компонента при внесении любого из следующих изменений:

  • Любое изменение, которое не было показано при тестировании на совместимость с предыдущими версиями компонента. В этом случае необходимо также изменить имя или целевое расположение каждого ресурса в компоненте.
  • Изменение имени или целевого расположения любого файла, раздела реестра, ярлыка или другого ресурса в компоненте. В этом случае необходимо также изменить имя или целевое расположение каждого ресурса в компоненте.
  • Добавление или удаление любого файла, раздела реестра, ярлыка или другого ресурса из компонента. В этом случае необходимо также изменить имя или целевое расположение каждого ресурса в компоненте.
  • Перекомпиляционная компиляция 32-разрядного компонента в 64-разрядный компонент.

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

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

Создание новой версии компонента

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

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

Код компонента новой версии компонента не следует изменять, если это приведет к совместному использованию ресурсов двумя компонентами, такими как значения реестра, файлы или ярлыки.