言語

Application.UpdatePackage プロパティ

定義

更新されたバージョンが見つかったときにパッケージを更新可能かどうかを示すブール値を取得または設定します。

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 です。

以下のコード例は、アップデートの有効化・無効化方法を示しています。 UpdatePackagetrueに設定し、値を印刷し、プロパティの値を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 に設定する必要があります: UpdatePackageUpdateObjects

各拡張可能なオブジェクトは、その CanUpdate プロパティも実装しなければなりません。

ランタイムは古いパッケージの読み込みを試み、古いオブジェクトを見つけたら更新を試みます。 ランタイムはまず、 Pipelineを除くすべての拡張可能なオブジェクトを列挙します。は別々かつ局所的に扱われます。 各オブジェクトに対して、ランタイムは新しいオブジェクトに対して CanUpdate を呼び出し、古いオブジェクトのIDを渡します。 新しいオブジェクトが古いオブジェクトを更新できる場合、古いオブジェクトは Update メソッドを使って新しいオブジェクトに渡され、そのXMLはその場で変更されます。 デフォルトでは、すべての拡張可能なオブジェクトはfalseを返すCanUpdateを実装しています。したがって、渡されたXMLは更新されません。

適用対象