アドオンのアップグレード
UpgradeAddOn には、アップグレード元の AddOn オブジェクトとアップグレード先の AddOn オブジェクトを識別する 2 つのプロパティーが含まれます。FromVersions プロパティーは、アップグレードする 1 つ以上のインストール済み AddOn オブジェクトを指定します。ToVersions プロパティーは、アップグレード先である 1 つ以上の新規 AddOn オブジェクトとデータを指定します。UpgradeAddOn オブジェクトをオブジェクト・ストアにインストールすると、FromVersions プロパティーにリストされたアドオンが、ToVersions プロパティーにリストされたアドオンに置き換えられます。実際には、UpgradeAddOn は、次のように移行パスとして機能します。既存のオブジェクト・ストアを、UpgradeAddOn.ToVersions プロパティーにリストされている AddOn オブジェクトで作成された新しいオブジェクト・ストアと同等の状態にアップグレードします。
UpgradeAddOn オブジェクトにはインポート・データ・セット、インポート前スクリプト、インポート後スクリプトが含まれています。UpgradeAddOn オブジェクトは、AddOn オブジェクトと同じ API メソッド ObjectStore.installAddOn を使用してインストールされます。
ステップバイステップの例
次のステップでは、「v1.0to2.0UpgradeAddon」を使用して、オブジェクト・ストアを「v1.0Addon」から「v2.0Addon」にアップグレードする際に実行するアクションの要約を説明します。
インストールが正常に完了すると、v1.0Addon の AddOnInstallationRecord は、v2.0Addon の AddOnInstallationRecord で置き換えられ、v1.0to2.0UpgradeAddon の AddOnInstallationRecord は削除されます。
インストールが失敗すると、v1.0to2.0UpgradeAddon の AddOnInstallationRecord がそのまま残り、オブジェクトの InstallationReport プロパティーに、失敗の報告が設定されます。
v1.0Addon がインストールされているすべてのオブジェクト・ストアに v1.0to2.0UpgradeAddon が適用された後は、v1.0Addon と v1.0to2.0UpgradeAddon は両方とも GCD から削除できます。いずれも、どのオブジェクト・ストアの AddOnInstallationRecordList からも参照されないためです。