Application.UpdatePackage プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
更新されたバージョンが見つかったときにパッケージを更新可能かどうかを示すブール値を取得または設定します。
public:
property bool UpdatePackage { bool get(); void set(bool value); };
public bool UpdatePackage { get; set; }
member this.UpdatePackage : bool with get, set
Public Property UpdatePackage As Boolean
プロパティ値
更新されたバージョンが見つかったときにパッケージが更新できる場合、そうでなければ、誤りです。 既定値は false です。
例
以下のコード例は、アップデートの有効化・無効化方法を示しています。
UpdatePackageをtrueに設定し、値を印刷し、プロパティの値をfalseにリセットし、再度値を出力します。
class ApplicationTests
{
static void Main(string[] args)
{
Application app = new Application();
Boolean updatePkg = true;
app.UpdatePackage = updatePkg;
Console.WriteLine(app.UpdatePackage);
updatePkg = false;
app.UpdatePackage = updatePkg;
Console.WriteLine(app.UpdatePackage);
}
}
Class ApplicationTests
Shared Sub Main(ByVal args() As String)
Dim app As Application = New Application()
Dim updatePkg As Boolean = True
app.UpdatePackage = updatePkg
Console.WriteLine(app.UpdatePackage)
updatePkg = False
app.UpdatePackage = updatePkg
Console.WriteLine(app.UpdatePackage)
End Sub
End Class
出力例:
True
False
注釈
タスク、 Foreach 列挙器、ログプロバイダー、接続管理者などの拡張可能なオブジェクトが更新されれば、古いパッケージはロード時に更新できます。 そのためには、読み込み前にアプリケーションオブジェクトで以下の2つのプロパティを true に設定する必要があります: UpdatePackageと UpdateObjects。
各拡張可能なオブジェクトは、その CanUpdate プロパティも実装しなければなりません。
ランタイムは古いパッケージの読み込みを試み、古いオブジェクトを見つけたら更新を試みます。 ランタイムはまず、 Pipelineを除くすべての拡張可能なオブジェクトを列挙します。は別々かつ局所的に扱われます。 各オブジェクトに対して、ランタイムは新しいオブジェクトに対して CanUpdate を呼び出し、古いオブジェクトのIDを渡します。 新しいオブジェクトが古いオブジェクトを更新できる場合、古いオブジェクトは Update メソッドを使って新しいオブジェクトに渡され、そのXMLはその場で変更されます。 デフォルトでは、すべての拡張可能なオブジェクトはfalseを返すCanUpdateを実装しています。したがって、渡されたXMLは更新されません。