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

Код продукта — это GUID, который является основной идентификацией приложения или продукта. См . коды продуктов.

Обновление, соответствующее следующим рекомендациям, обычно не требует изменения кода продукта и может обрабатываться как небольшое обновление или, если требуется изменить версию, как незначительное обновление:

  • Обновление может увеличить или уменьшить дерево компонентов компонентов, но не должно реорганизовать существующую иерархию компонентов и компонентов, описанных в таблицах Feature и FeatureComponents . Он может добавить новый компонент в существующее дерево компонентов компонента. Если он удаляет родительский компонент, он также должен удалить все дочерние компоненты удаленного компонента.
  • Обновление может добавить новый компонент к новой или существующей функции.
  • Обновление не должно изменять код компонента какого-либо компонента. Следовательно, небольшое обновление или незначительное обновление никогда не должно изменять имя файла ключа компонента, так как для этого потребуется изменить код компонента.
  • Обновление не должно изменять имя файла .msi пакета установки. Вместо этого, так как он изменяет пакет, он должен изменить код пакета. Обратите внимание, что это означает, что обновление может изменять таблицы, пользовательские действия и диалоговые окна в файле .msi без изменения имени файла.
  • Обновление может добавлять, удалять или изменять файлы, разделы реестра или ярлыки компонентов, которые не используются двумя или более функциями. Если обновление изменяет файл с управлением версиями, версия этого файла должна увеличиваться в таблице File. Если обновление удаляет ресурсы, оно также должно обновить таблицы RemoveFile и RemoveRegistry , чтобы удалить все неиспользуемые файлы, разделы реестра или ярлыки, которые уже были установлены.
  • Обновление компонента, совместно используемого двумя или более функциями, должно быть обратно совместимо со всеми приложениями и компонентами, которые используют этот компонент. Обновление может изменять ресурс общего компонента, например файлы, записи реестра и ярлыки, при условии обратной совместимости изменений. Не рекомендуется добавлять или удалять файлы, записи реестра или ярлыки из общего компонента.
  • Небольшое обновление поставляется в виде пакета исправлений установщика Windows. (Полный компакт-диск продукта обычно не предоставляется с небольшим обновлением.)

Код продукта необходимо изменить, если для обновления верно одно из следующих действий:

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

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

Новые дочерние функции можно создавать, включив msidbFeatureAttributesFollowParent и msidbFeatureAttributesUIDisallowAbsent в поле Атрибуты таблицы Признаков. Если при незначительном обновлении добавляются только новые дочерние компоненты, то для принудительной установки новых дочерних компонентов будет достаточно REINSTALL=ALL. Дополнительные сведения см. в разделе Управление состояниями выбора компонентов.

Новая дочерняя функция может быть скрыта от пользователя. Чтобы синхронизировать состояние установки нового дочернего компонента с родительским компонентом, задайте для дочернего компонента биты msidbFeatureAttributesFollowParent и msidbFeatureAttributesUIDisallowAbsent.

Сведения о свойствах

Использование свойств

Справочник по свойствам