Application.UpdatePackage Property

Gets or sets a Boolean that indicates whether packages can be updated when an updated version is found.

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)


Public Property UpdatePackage As Boolean
Dim instance As Application
Dim value As Boolean

value = instance.UpdatePackage

instance.UpdatePackage = value
public bool UpdatePackage { get; set; }
property bool UpdatePackage {
    bool get ();
    void set (bool value);
member UpdatePackage : bool with get, set
function get UpdatePackage () : boolean
function set UpdatePackage (value : boolean)

Property Value

Type: System.Boolean
true if packages can be updated when an updated version is found; otherwise, false. The default value is false.


If extensible objects, such as tasks, Foreach enumerators, log providers, and connection managers are updated, older packages can be updated at load time. For that to occur, the following two properties must be set to true in the application object before loading: UpdatePackage, and UpdateObjects.

Each extensible object must also implement its CanUpdate property.

The runtime tries to load the old package, and if it finds an older object, attempts an update. The runtime first enumerates all the extensible objects it contains, excluding the Pipeline, which is treated separately and locally. For each object, the runtime then calls CanUpdate on the new objects, passing the ID of the old object. If the new object can update the old one, the old object is passed to the new one by using its Update method, and its XML is changed in place. By default, all extensible objects implement CanUpdate to return false; therefore, the XML that is passed is not updated.


The following code example shows how to enable and disable updates. It sets the UpdatePackage to true, prints the value, resets the value of the property to false, and prints out the value again.

class ApplicationTests
        static void Main(string[] args)
            Application app = new Application();
            Boolean updatePkg = true;
            app.UpdatePackage = updatePkg;

            updatePkg = false;
            app.UpdatePackage = updatePkg;
Class ApplicationTests
        Shared  Sub Main(ByVal args() As String)
            Dim app As Application = New Application() 
            Dim updatePkg As Boolean = True 
            app.UpdatePackage = updatePkg
            updatePkg = False
            app.UpdatePackage = updatePkg
        End Sub
End Class

Sample Output: