アップグレード テーブル
Upgrade テーブルには、メジャー アップグレード 必要な情報が含まれています。 インストーラーのアップグレード機能を完全に有効にするには、すべてのパッケージに UpgradeCode プロパティと Upgrade テーブルが必要です。 Upgrade テーブルの各レコードには、アップグレードの影響を受ける製品のセットを識別するために使用されるアップグレード コード、製品バージョン、および言語情報の特性の組み合わせが示されます。 FindRelatedProducts アクションは、システムにインストールされている影響を受ける製品を検出すると、ActionProperty 列で指定されたプロパティに製品コードを追加します。 RemoveExistingProducts アクションと MigrateFeatureStates アクションは、ActionProperty 列にリストされている製品のみを削除または移行します。
Upgrade テーブルには、次の表に示す列が含まれています。
コラム | 種類 | 鍵 | 許容 |
---|---|---|---|
UpgradeCode | GUID | Y | N |
VersionMin | テキスト | Y | Y |
VersionMax | テキスト | Y | Y |
言語 | テキスト | Y | Y |
属性 | 整数 の | Y | N |
取り去る | 書式設定された | N | Y |
ActionProperty | 識別子の | N | N |
列
-
UpgradeCode
-
この列の UpgradeCode プロパティは、FindRelatedProducts アクションによって検出されるすべての製品のアップグレード コードを指定します。
-
VersionMin
-
FindRelatedProductsによって検出される製品バージョンの範囲の下限。 範囲 VersionMin を含めるには、属性に「msidbUpgradeAttributesVersionMinInclusive」と入力します。 VersionMin が空の文字列 ("") と等しい場合、0 と同じように評価されます。 VersionMin が null の場合、FindRelatedProducts は msidbUpgradeAttributesVersionMinInclusive 無視し、以前のすべてのバージョンを検出します。 VersionMin と VersionMax の両方を null にすることはできません。
VersionMin は、ProductVersion プロパティの説明に従って、有効な製品バージョンである必要があります。 Windows インストーラーでは、製品バージョンの最初の 3 つのフィールドのみが使用されることに注意してください。 製品バージョンに 4 番目のフィールドを含める場合、インストーラーは 4 番目のフィールドを無視します。
-
VersionMax
-
FindRelatedProducts アクションによって検出される製品バージョンの範囲の上限。 範囲 VersionMax を含めるには、属性に「msidbUpgradeAttributesVersionMaxInclusive」と入力します。 VersionMax が空の文字列 ("") の場合、0 と同じように評価されます。 VersionMax が null の場合、FindRelatedProducts は msidbUpgradeAttributesVersionMaxInclusive を無視し、VersionMin および msidbUpgradeAttributesVersionMinInclusiveで指定された下限を超える (またはそれ以上) すべての製品バージョンを検出します。 VersionMin と VersionMax の両方を null にすることはできません。
VersionMax は、ProductVersion プロパティの説明に従って、有効な製品バージョンである必要があります。 Windows インストーラーでは、製品バージョンの最初の 3 つのフィールドのみが使用されることに注意してください。 製品バージョンに 4 番目のフィールドを含める場合、インストーラーは 4 番目のフィールドを無視します。
-
言語
-
FindRelatedProductsによって検出された言語のセット。 数値言語識別子 (LANGID) の一覧をコンマで区切って入力します。 属性 msidbUpgradeAttributesLanguagesExclusive を入力して、言語に記載されているものを除くすべての言語を検出します。 Language が null または空の文字列 ("") の場合、FindRelatedProducts は msidbUpgradeAttributesLanguagesExclusive 無視し、すべての言語を検出します。
-
属性
-
この列には、Upgrade テーブルの属性を指定するビット フラグが含まれています。
ビット フラグ名 小数 16 進 数 属性 msidbUpgradeAttributesMigrateFeatures 1 0x001 MigrateFeatureStates アクションでロジックを有効にして、機能状態を移行します。 msidbUpgradeAttributesOnlyDetect 2 0x002 製品とアプリケーションを検出しますが、削除は行いません。 msidbUpgradeAttributesIgnoreRemoveFailure 4 0x004 製品またはアプリケーションの削除に失敗した場合にインストールを続行します。 msidbUpgradeAttributesVersionMinInclusive を する 256 0x100 VersionMin の値を含むバージョンの範囲を検出します。 msidbUpgradeAttributesVersionMaxInclusive 512 0x200 VersionMax の値を含むバージョンの範囲を検出します。 msidbUpgradeAttributesLanguagesExclusive の 1024 0x400 [言語] 列に一覧表示されている言語を除く、すべての言語を検出します。 -
削除
-
インストーラーは、REMOVE プロパティを、この列で指定された機能に設定します。 削除する機能は、実行時に決定できます。 このフィールドに入力する 書式設定された 文字列は、機能名のコンマ区切りのリストに評価される必要があります。 例: [Feature1]、[Feature2]、[Feature3]。 フィールドに空の文字列 ("") と評価される書式設定されたテキストが含まれている場合、特徴は削除されません。 インストーラーは、Remove フィールドが空の場合にのみ REMOVE=ALL を設定します。 空の文字列と空のフィールドの違いに注意してください。 フィールドが空の場合は null です。
-
ActionProperty
-
FindRelatedProducts アクションは、システムにインストールされている関連製品を検出すると、このフィールドで指定されたプロパティに製品コードを追加します。 この列で指定するプロパティはパブリック プロパティである必要があり、パッケージ作成者は、SecureCustomProperties プロパティにプロパティを追加する必要があります。 Upgrade テーブルの各行には、一意の ActionProperty 値が必要です。 FindRelatedProducts の後、このプロパティの値は、システムで検出されたセミコロン (;)で区切られたリスト製品コードです。
検証