Таблица Upgrade содержит сведения, необходимые во время основных обновлений. Чтобы полностью включить возможности обновления установщика, каждый пакет должен иметь свойство UpgradeCode и таблицу Upgrade. Каждая запись в таблице Upgrade содержит характерное сочетание кода обновления, версии продукта и языка, используемого для определения набора продуктов, затронутых обновлением. Когда действие FindRelatedProducts обнаруживает затронутый продукт, установленный в системе, оно добавляет код продукта к свойству, указанному в столбце ActionProperty. Действия RemoveExistingProducts и MigrateFeatureStates только удаляют или переносят продукты, перечисленные в столбце ActionProperty.
Таблица Upgrade содержит столбцы, показанные в следующей таблице.
Свойство 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 значение этого свойства представляет собой список кодов продуктов, разделенных точкой с запятой (;), обнаруженных в системе.
Do you want to learn about how to build efficient installation and upgrade procedures? There are essential techniques you should learn to build good and user-friendly applications.