Application.UpdatePackage プロパティ

定義

更新バージョンが検出されたときにパッケージを更新できるかどうかを示す Boolean を取得します。値の設定も可能です。

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

プロパティ値

更新されたバージョンが見つかったときにパッケージを更新できる場合は true。それ以外の場合は false。 既定値は 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 列挙子、ログ プロバイダー、および接続マネージャーなどの拡張可能なオブジェクトが更新される場合、古いパッケージは読み込み時に更新できます。 このような処理が行われるようにするには、読み込み前にアプリケーション オブジェクトで UpdatePackageUpdateObjects という 2 つのプロパティを true に設定する必要があります。

また、拡張可能な各オブジェクトは CanUpdate プロパティも実装する必要があります。

ランタイムは、古いパッケージの読み込みを試み、古いオブジェクトを検出した場合は、更新を試みます。 まず、(個別にローカルに扱われる Pipeline を除外して) このランタイムに含まれているすべての拡張可能なオブジェクトを列挙します。 次に、オブジェクトごとに、新しいオブジェクトで古いオブジェクトの ID を渡しながら CanUpdate を呼び出します。 新しいオブジェクトが古いオブジェクトを更新できる場合は、そのメソッドを使用して Update 古いオブジェクトが新しいオブジェクトに渡され、その XML が変更されます。 既定では、すべての拡張可能なオブジェクトが CanUpdate を実装して false を返します。このため、渡される XML は更新されません。

適用対象