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


Обновление таблицы

Таблица Upgrade содержит сведения, необходимые во время основных обновлений. Чтобы полностью включить возможности обновления установщика, каждый пакет должен иметь свойство UpgradeCode и таблицу Upgrade. Каждая запись в таблице Upgrade содержит характерное сочетание кода обновления, версии продукта и языка, используемого для определения набора продуктов, затронутых обновлением. Когда действие FindRelatedProducts обнаруживает затронутый продукт, установленный в системе, оно добавляет код продукта к свойству, указанному в столбце ActionProperty. Действия RemoveExistingProducts и MigrateFeatureStates только удаляют или переносят продукты, перечисленные в столбце ActionProperty.

Таблица Upgrade содержит столбцы, показанные в следующей таблице.

Столбец Type Ключ Допускает значения NULL
UpgradeCode GUID Да N
VersionMin Text Да Да
VersionMax Text Да Да
Язык Text Да Да
Атрибуты Целое число Да N
Удалить Форматированные Нет Да
ActionProperty Идентификатор Нет Нет

 

Столбцы

UpgradeCode

Свойство UpgradeCode в этом столбце указывает код обновления всех продуктов, которые должны быть обнаружены с помощью действия FindRelatedProducts .

VersionMin

Нижняя граница диапазона версий продуктов, обнаруженных FindRelatedProducts. Введите msidbUpgradeAttributesVersionMinInclusive в поле Атрибуты, чтобы включить VersionMin в диапазон. Если VersionMin равен пустой строке (""), она вычисляется так же, как и 0. Если versionMin имеет значение NULL, FindRelatedProducts игнорирует msidbUpgradeAttributesVersionMinInclusive и обнаруживает все предыдущие версии. VersionMin и VersionMax не должны иметь значение NULL.

VersionMin должна быть допустимой версией продукта, как описано для свойства ProductVersion . Обратите внимание, что установщик Windows использует только первые три поля версии продукта. Если в версию продукта включено четвертое поле, установщик игнорирует четвертое поле.

VersionMax

Верхняя граница диапазона версий продукта, обнаруженного действием FindRelatedProducts . Введите msidbUpgradeAttributesVersionMaxInclusive в поле Атрибуты, чтобы включить VersionMax в диапазон. Если VersionMax является пустой строкой (""), она вычисляется так же, как 0. Если versionMax имеет значение NULL, FindRelatedProducts игнорирует msidbUpgradeAttributesVersionMaxInclusive и обнаруживает все версии продуктов, превышающие (или превышающие или равные) нижней границы, заданной versionMin и msidbUpgradeAttributesVersionMinInclusive. VersionMin и VersionMax не должны иметь значение NULL.

VersionMax должна быть допустимой версией продукта, как описано для свойства ProductVersion . Обратите внимание, что установщик Windows использует только первые три поля версии продукта. Если в версию продукта включено четвертое поле, установщик игнорирует четвертое поле.

Язык

Набор языков, обнаруженных FindRelatedProducts. Введите список идентификаторов числовых языков (LANGID), разделенных запятыми. Введите msidbUpgradeAttributesLanguagesExclusive в поле Атрибуты, чтобы определить все языки, исключающие перечисленные в разделе Язык. Если параметр Language имеет значение NULL или пустую строку (""), FindRelatedProducts игнорирует msidbUpgradeAttributesLanguagesExclusive и обнаруживает все языки.

Атрибуты

Этот столбец содержит битовые флаги, указывающие атрибуты таблицы Upgrade.

Имя битового флага Decimal Шестнадцатеричный attribute
msidbUpgradeAttributesMigrateFeatures 1 0x001 Переносит состояния компонентов, включив логику в действии MigrateFeatureStates .
msidbUpgradeAttributesOnlyDetect 2 0x002 Обнаруживает продукты и приложения, но не удаляет.
msidbUpgradeAttributesIgnoreRemoveFailure 4 0x004 Продолжает установку при сбое удаления продукта или приложения.
msidbUpgradeAttributesVersionMinInclusive 256 0x100 Определяет диапазон версий, включая значение в VersionMin.
msidbUpgradeAttributesVersionMaxInclusive 512 0x200 Определяет диапазон версий, включая значение в VersionMax.
msidbUpgradeAttributesLanguagesExclusive 1024 0x400 Определяет все языки, за исключением языков, перечисленных в столбце Язык.

 

Удалить

Установщик задает для свойства REMOVE компоненты, указанные в этом столбце. Функции, которые необходимо удалить, можно определить во время выполнения. Строка formatted , введенная в этом поле, должна вычислить разделенный запятыми список имен признаков. Например: [Компонент1],[Компонент2],[Компонент3]. Никакие признаки не удаляются, если поле содержит отформатированный текст, результатом которого является пустая строка (""). Установщик устанавливает remove=ALL только в том случае, если поле Удалить пустое. Обратите внимание на разницу между пустой строкой и пустым полем. Если поле пустое, оно имеет значение NULL.

ActionProperty

Когда действие FindRelatedProducts обнаруживает связанный продукт, установленный в системе, оно добавляет код продукта к свойству, указанному в этом поле. Свойство, указанное в этом столбце, должно быть открытым, а автор пакета должен добавить свойство в свойство SecureCustomProperties . Каждая строка в таблице Upgrade должна иметь уникальное значение ActionProperty. После FindRelatedProducts значение этого свойства представляет собой список кодов продуктов, разделенных точкой с запятой (;), обнаруженных в системе.

Проверка

ICE03
ICE06
ICE46
ICE61
ICE66