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


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

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

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

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

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

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

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

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

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

О свойствах

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

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